之前有個案子有用到 Message Queuing (MSMQ) 技術,但國內似乎採用這種技術的人不多,網路上能找到的都以 MSDN / TechNet 與英文內容居多,不過 MSMQ 是從 NT 4.0 的時代就有的服務,到現在也都還一直是 Windows 內建服務的一部分,但我之前在使用時由於過於生疏,一度誤以為 MSMQ 是個不可靠的服務,後來才證明說 MSMQ 真的是穩定又有效的訊息佇列服務,以下是一些心得筆記。
... 繼續閱讀 ...
之前分享過 如何清空 [開始] / [執行] 的所有歷史紀錄 我個人覺得非常實用,但最近卻想到 Windows 7 提供的 捷徑清單 (Jump List) 也是類似最近開啟的紀錄,但與之前 Vista/XP 的 最近開啟的文件(Recent)不同路徑,雖然找到清除的方法,但我不想將所有捷徑清單清除掉,而只想清除特定應用程式的捷徑清單而已,我找了好久才找到刪除這些資料的方法!
... 繼續閱讀 ...
前陣子有人問說 IIS7 靜態內容壓縮為何無法運作,當我抽空研究之後發現一些有趣的現象,在 IIS7 的靜態內容壓縮功能在第一次透過瀏覽器下載網頁時並不會進行壓縮,而是要有第二次 HTTP Request 時才會對該內容進行壓縮,而這個時候才會真的耗用 CPU 資源進行檔案壓縮,壓縮完之後才會將壓縮內容回應到用戶端。
... 繼續閱讀 ...
Web 效能調校博大精深,眉眉角角的細節之多實在難以整理,我想大部分人也都跟我一樣,也是從一次又一次與茶包戰鬥中累積經驗,這次又遇到了一個有趣的問題。當我想將頁面設定輸出快取時,可能會希望同時快取在伺服器端(Server)與用戶端(Client),因此在設定 OutputCache 時有個 Location 屬性,我們會將其設定為 ServerAndClient 或 Any,但是你可否知道即便你這樣設定,一樣無法快取網頁內容於用戶端(Client),所以單單這樣設定並沒有達到我們真正想達到的目的 ( 同時在 Server 與 Client 快取網頁 )。
... 繼續閱讀 ...
ASP.NET MVC 的開發原則有個 SoC (Separation of Concern) 的觀念,我們在開發較大型的 ASP.NET MVC 應用程式時會特別將資料存取層(Data Access Layer) 再細分為兩個層次,分別是 Repository Layer (資料倉儲層) 負責資料存取與欄位格式驗證,與 Service Layer (服務提供層) 負責資料篩選與商業邏輯驗證,但分層之後遇到了一個之前沒想過的問題,進而導致 LINQ to SQL 查詢效能不彰。
... 繼續閱讀 ...
為了能讓網站運作時能夠得到最好執行效能,運用 OutputCache 機制絕對是不可或缺的技能之一,而在 ASP.NET MVC 套用 OutputCache 機制就是使用 OutputCacheAttribute Class 即可輕易做到輸出快取,不過在套用 OutputCache 的過程也很有可能會遇到一些莫名的錯誤,須了解背後原理才能得知問題發生的原因。
... 繼續閱讀 ...
最近將 IIS7 的 URL Rewrite Module 1.1 升級到 URL Rewrite Module 2.0,而在啟用「共用設定」的情況下在更新 IIS 模組時必須特別小心,因為很有可能一不小心就讓所有 Web farm 網站伺服器全部中斷服務,越方便的設定可以替你帶來方便性,卻也可能替你帶來災難。
... 繼續閱讀 ...
由於 ASP.NET MVC 2 日前已經正式發行(RTM),但最近從 RC2 換到 RTM 的過程中發生了一些小意外,最近有個同事因為之前安裝了 ASP.NET MVC 2 RC 最近又安裝了 ASP.NET MVC 2 RTM,原以為已經升級到最新版了,誰知道用 Visual Studio 2010 RC 開啟 ASP.NET MVC 2 的專案時還是舊版,導致在使用 client validation 時會讓在使用相容性模式瀏覽的 IE 掛掉 (此問題已在 ASP.NET MVC 2 RTM 版修正,詳見 Release Note 說明)。
... 繼續閱讀 ...
你知道寫程式、玩 IT 最需要的是什麼嗎?是 “視力”!原來卡住我們好幾個星期的問題是因為有人將主機的 hosts 設定錯誤導致程式發生異常,而這個錯誤之前在做程式驗證時還檢驗不出來,有趣的地方請繼續看下去。
... 繼續閱讀 ...