[C#] 在Project 中整合Log4net
Logging 決定了一個application 質素. 在適當地方加入log, 會令troubleshooting 事半功倍, 並可以確保application 的效能. 在示範中, 會使用Log4net, 一個常用的logging library.
Logging 決定了一個application 質素. 在適當地方加入log, 會令troubleshooting 事半功倍, 並可以確保application 的效能. 在示範中, 會使用Log4net, 一個常用的logging library.
利用DataGrid 來列示資料是一件正常事, 然而, 在WPF中若須要列出class property, 若用原廠設定的話, 標題會用property name. 若需要自定標題, 則須要應用DomainNameAttribute 來設置.
之前介紹過如何匯入/滙出Excel 檔案, 當嘗試開啟 CSV (Comma-separated Value) 檔案時, 因為File Header 與xls / xlsx 不符, 故NPOI 會彈出exception 如下:
在Front-end Application, 當有request 須要進行較長時間的處理, (例如web API call, 檔案IO等), 通常除了disable UI controls 外, 為了令user 知道處理狀況, 便須要利用Progress bar 表達運作進度. 在WPF中, 與HTML5 一樣, 都可以利用<ProgressBar> 實現. 然而, 在TaskBar 中的圖示, 則須要再作處理. 在示範中, 用了code-behide 作Proof-of-Concept, 相信利用MVVM 都能夠順利使用.
Metadata 是內容的描述性資訊 (Descriptive information), 例如檔案的建立日期, 作者等. 而圖像則有其自己的metadata, 主要分三類: Technical Metadata: 主要為圖片的技術相關資訊, 例如光圈, 快門, ISO, 等. 除了相片外, 亦會有攝影器材的資訊, 如相機, 鏡頭等. 這類metadata 亦被統稱為Exif. Descriptive Metadata: 通常為圖片的內容描述. 如圖片的主題, 檢簽, 位置等. Administrative Metadata: 若圖片有申請知識產權(Intellengent Property, IP), 則在此會有版權資訊, 使用守則. 而這類Metadata […]
有時寫External Application, 為簡化註冊程序, 有時會引入oAuth 將認證及登入等交給第三方處理 (如Facebook, Google / Linkedin 等). 而在ASP.net MVC 中, 亦已有相對應方法如下:
在用戶管理時, 總有須要重設密碼, 若密碼設定太簡單(e.g. 123456), 用戶不去改便容易有保安漏洞, 所以寫了個PasswordGenerator class, 以singleton 形式去產生password. 為了更方便設定, 亦加入了password complexity 相關設定(最少10個字, 英文字母大小楷, 包括符號), 提供更大的彈性.
在利用C# 叫用 Web API 時, 須要透過HttpWebRequest 去傳送request 和HttpWebResponse 去收return 回來的data. 以下是部份測試代碼.
最近公司上了新project, 為了檢查其穩定性, 須要每日定期檢查.為了方便自己工作, 便寫了一個工具去每日檢查網作運作. 說到底, 其實就是推一個HTTP request 去, 檢查其結果和是否有獨有的HTML, 以確保內容的rendering 沒有問題.
有時制造表格時, 須要去驗證用戶輸入的URL是否正確, 這個可以透過Attribute 完成. 但若果得到的URL是從app.config 或其他檔案而來, 那就變得有須要在code level 進行一次檢查.
Copyright © 2024 | MH Magazine WordPress Theme by MH Themes