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 設定錯誤導致程式發生異常,而這個錯誤之前在做程式驗證時還檢驗不出來,有趣的地方請繼續看下去。
... 繼續閱讀 ...
今天發現一個 Default Programs Editor 好用工具 ,可以讓你修改 Windows 系統中所有檔案關連的對應,原本需要手動修改機碼的動作透過 GUI 界面操作整個人性許多,除此之外還能讓你自訂特定檔案的關連,方便你在檔案總管針對特定檔案按下右鍵時可以自訂一些動作。
... 繼續閱讀 ...
今天幫客戶弄壹台很舊的 Linux 機器,為了在上面編譯 PHP5 必須下載一些相依套件回來,但客戶的機器跑得是 Ubuntu 6.10 (Edgy Eft) 且該版本在官網已經不支援了,所以不管執行 apt-get update 或 apt-get 都會失敗,也無法正常下載套件,還好剛找到舊版的 Ubuntu 倉儲,只要修改 source.list 即可順利安裝。
... 繼續閱讀 ...
我的部落格偶而會遭受廣告機器人攻擊,常常有一些奇怪的英文廣告被發表在文章的回應裡,每次看來源 IP 都是從美國/加拿大來的居多,我想大多是透過機器人自動攻擊的,由於時常要刪除這些廣告留言也覺得蠻煩的,上網找到一個 Stop Forum Spam 網站,這裡記錄了許多全世界到處在論壇散佈廣告訊息的 IP 位址、常用的帳號、Email 等,有趣的是來我這發表廣告的 IP 位址都會出現在這裡,此網站提供簡易的 API 方便透過程式整合,所以就寫了個小程式保護我的部落格留言機制。
... 繼續閱讀 ...