前陣子處理了一個特殊的案子,該客戶提供一批與「會計」有關的數據,在客戶手中的資料來源裡,我拿到一個這樣的數值字串:(95,403.8075)e-02,在會計的領域中刮號代表「負數」的意思,但這樣的數字在 .NET 應該怎樣 Parse 比較好呢?其實在 .NET 裡已經內建了許多好物等著你去挖掘了!
... 繼續閱讀 ...
幾天前有兩位資安研究員 (Thai Duong and Juliano Rizzo) 發現了一個 ASP.NET 的資安弱點,主要的點出在 .NET 實做 AES 加解密演算法的問題,駭客透過這個弱點即可在短時間內猜出你網站的加密金鑰進而入侵你的網站系統,在 ASP.NET 裡使用到加解密的地方非常多,像是 Forms Authentication 與 ViewState 都是非常常見的功能,加密金鑰 (MachineKey) 被猜到之後就可以讓駭客用任意身份使用你的網站或任意竄改 ViewState 中的狀態資訊,嚴重性非同小可,各位一定要即時因應。
... 繼續閱讀 ...
由於我們有個專案已經升級至 .NET 4.0,而我希望在開發時期要將 ASP.NET MVC 2.0 RTM 原始碼連同原專案一起開發,其實在不更動 System.Web.Mvc 專案的目標 Framework 為 3.5 的情況下是可以正常運作的,不過若像我們遇到一些比較特殊的情況可能會希望連 System.Web.Mvc 專案的目標 Framework 一併升級到 .NET 4.0,雖然升級後可以正常編譯,但是卻會在執行時期發生錯誤,以至於根本無法進行除錯,這時就必須動點小手腳才能讓 ASP.NET MVC 網站成功執行。
... 繼續閱讀 ...
上週我們有個案子發生程式 Hang 住的情況 (就是程式執行到某一行停止不動的情況),程式執行到某個資料庫寫入動作的時間過長導致系統無法正常運作,由於資料庫那端我這邊無法快速修復,且此狀況又是偶發的,因此我就改以多執行緒的運作方式限制程式執行的時間,以免造成系統其他部分的正常運作,算是一個小小的開發技巧。
... 繼續閱讀 ...
在有多個應用程式使用相同 SQL 登入帳號存取 SQL Server 資料庫時,經常會無法在 SQL Server 管理介面中分析連線來源到底是誰,例如同時有一個網站與另一個 Windows 服務同時都在運作並連接資料庫的時候。遇到這種情況如果當資料庫發生負載過重時經常無法有效區別出到底是哪個應用程式發生問題,這時就可以利用今天的技巧來協助分析。
... 繼續閱讀 ...
最近這陣子已經都改用 NLog 當作 .NET 應用程式的追蹤記錄工具 ,使用方式跟 log4net 非常像,不過設定檔簡單多了,非常容易上手,而且 NLog 支援非常多種儲存記錄的形式(Target),例如儲存至檔案、資料庫、Console、Event Log 或透過 Email、TCP 或 UDP、SOAP (Web Service)、MSMQ 傳送出去等等非常多種形式,除此之外,在 Visual Studio 中還支援設定檔的 Intellisense 支援。
... 繼續閱讀 ...
我公司最近正如火如荼的採用 .NET 4.0 全新技術做開發,但最近在升級舊有專案時發現有個專案升級的並不順利,由於該專案有參考一個 PKI 加密元件,該元件是採用 COM 技術做開發,所以在以前在專案裡參考 COM 元件時都會預設產生一個 Interop 組件可供參考,但 .NET 4.0 提供一個內嵌 Interop 型別的功能,當你在 Visual Studio 2010 將 .NET 3.5 專案升級上 .NET 4.0 後該 Interop 組件的參考屬性預設會設定為 True,這就有可能導致專案無法編譯的問題。
... 繼續閱讀 ...
前幾天遇到幾個 Entity Framework 的連線問題,因此誓死研究出前因後果,本次研究頗有心得,雖然都是小東西,但應該算蠻重要的,對日後用 Entity Framework 開發 DAL 元件有很大的幫助。
... 繼續閱讀 ...
微軟有個 Microsoft Symbol Server 可讓你在開發的過程中提供你所有 .NET Framework 組件的偵錯資訊 (symbol debugging information),我之前也有文章介紹過如何在 Visual Studio 2008 設定,到了 Visual Studio 2010 設定變的更簡單些,支援的組件也更多,包括 .NET 2.0, 3.0, 3.5, 4.0 BCL, MVC1.0, 2.0,甚至於你可以從 SymbolSource.org 設定更多的符號檔 (*.pdb) 位置。
... 繼續閱讀 ...