The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

ASP.NET 4 快取 API 有兩種:Cache 與 ObjectCache

ASP.NET 從最早期的版本就實做了一套好用的快取機制 (System.Web.Caching.Cache),一直以來任何非 ASP.NET 的應用程式 (例如 WinForm, WPF, Console, WinService, …) 若要使用快取機制都必須將 System.Web.dll 參考進專案才能使用,但從 .NET 4.0 開始出現了另一個擴充性更強的快取機制,稱為 Object Caching (物件快取) 機制,未來這兩套快取機制將各司其職、相輔相成。

... 繼續閱讀 ...

如何利用 .NET 的 Regex 過濾所有特殊字元 (其他語言適用)

今天有個同事寫了一個小程式要將欄位中所有特殊字元過濾掉,他雖然用的是 規則運算式 (Regular Expression) 但寫法卻有瑕疵,我在 Code Review 的時候立即聞到這個程式碼的壞味道,很快的也用另一段更短的規則運算式 來解決這個小需求,而且也更加符合客戶的需要。

... 繼續閱讀 ...

Message Queuing (MSMQ) 學習心得分享

之前有個案子有用到 Message Queuing (MSMQ) 技術,但國內似乎採用這種技術的人不多,網路上能找到的都以 MSDN / TechNet 與英文內容居多,不過 MSMQ 是從 NT 4.0 的時代就有的服務,到現在也都還一直是 Windows 內建服務的一部分,但我之前在使用時由於過於生疏,一度誤以為 MSMQ 是個不可靠的服務,後來才證明說 MSMQ 真的是穩定又有效的訊息佇列服務,以下是一些心得筆記。

... 繼續閱讀 ...

解決 Memcached Provider 不支援中文 Cache Key 的問題

前陣子使用 Memcached 當成我們某個 ASP.NET 網站的後端,但只要遇到採用 Non-ASCII 的文字當成快取的鍵值(Key)就會自動消失,經過一番研究後確認是 Memcached Provider 的 DefaultKeyTransformer 在處理所有 memcached 通訊協定時所有的 Key 都是以 Encoding.ASCII 做為文字編碼,以致於所有中文字都無法讀取而自動被忽略,而也在編譯時與執行時期都不會出現任何錯誤,因此必須特別小心。

... 繼續閱讀 ...

利用 WebClient 類別模擬 HTTP POST 表單送出的注意事項

我們都知道 WebClient 類別是個簡單易用的東西,不只可以用作 HTTP 用途,連 FTP 都能用,想偷懶時很快就能寫出一些網路資料上傳、下載的程式,像我在寫一些測試程式時經常會使用 WebClient 類別,但大多情況都用來「下載網頁」居多,少有模擬表單上傳資料的情況,但利用 WebClient 類別在「傳送表單資料」時要小心使用,否則遠端接不到資料又很難除錯時哪就麻煩了。

... 繼續閱讀 ...