為了能讓網站運作時能夠得到最好執行效能,運用 OutputCache 機制絕對是不可或缺的技能之一,而在 ASP.NET MVC 套用 OutputCache 機制就是使用 OutputCacheAttribute Class 即可輕易做到輸出快取,不過在套用 OutputCache 的過程也很有可能會遇到一些莫名的錯誤,須了解背後原理才能得知問題發生的原因。
... 繼續閱讀 ...
我的部落格偶而會遭受廣告機器人攻擊,常常有一些奇怪的英文廣告被發表在文章的回應裡,每次看來源 IP 都是從美國/加拿大來的居多,我想大多是透過機器人自動攻擊的,由於時常要刪除這些廣告留言也覺得蠻煩的,上網找到一個 Stop Forum Spam 網站,這裡記錄了許多全世界到處在論壇散佈廣告訊息的 IP 位址、常用的帳號、Email 等,有趣的是來我這發表廣告的 IP 位址都會出現在這裡,此網站提供簡易的 API 方便透過程式整合,所以就寫了個小程式保護我的部落格留言機制。
... 繼續閱讀 ...
前陣子使用 Memcached 當成我們某個 ASP.NET 網站的後端,但只要遇到採用 Non-ASCII 的文字當成快取的鍵值(Key)就會自動消失,經過一番研究後確認是 Memcached Provider 的 DefaultKeyTransformer 在處理所有 memcached 通訊協定時所有的 Key 都是以 Encoding.ASCII 做為文字編碼,以致於所有中文字都無法讀取而自動被忽略,而也在編譯時與執行時期都不會出現任何錯誤,因此必須特別小心。
... 繼續閱讀 ...
這個星期都忙碌於一個大型網站的效能調校,而效能調校首重數據分析,透過數據分析進一步瞭解應用程式所遇到的效能瓶頸,最常使用的工具不外乎就是 效能監視器 ( Performance Monitor ),但由於有多台主機,每壹台都要重新選取一次這些 效能計數器 (Performance Counter) 實在很麻煩,所以若能透過指令列工具建立效能監視集合就會十分方便。
... 繼續閱讀 ...
如果要將 ASP.NET 網站安裝在遠端的 UNC 路徑上,在設定 IIS 時除了一般檔案的存取權限外,最重要的就是 ASP.NET 的執行權限是否有正確設定,由於所有置於 UNC 路徑上的 .NET 應用程式都會預設套用 LocalIntranet 群組,所以你無法將 ASP.NET 佈署在 UNC 路徑上,除非自行新增 .NET 安全性原則。
... 繼續閱讀 ...
前陣子遇到一個很怪的問題,在正常的安裝下竟然有個專案從 SVN 版本庫簽出後無法正確安裝至我本機的 IIS7 中執行,甚至於無法在 Visual Studio 執行建置(Build),而且錯誤的狀況都是跟權限有關,但我花了好一段時間才將這個問題解決,原來就是卡在一個很小的地方沒注意到。
... 繼續閱讀 ...
之前一直想研究 Memcached,這幾天花了些時間研究 Memcached Providers 好讓我現有的 ASP.NET 專案能解決多台主機間快取不同步的狀況, 想不到花沒多少時間就上手了,也因此做了一些記錄。
... 繼續閱讀 ...
在 Web Farm 環境下部署網站需要關注的細節可不少,在部署大型網站的時候 IIS 這部分到底要算 IT 的領域還是開發人員(Developer)的領域其實分不太清楚,像要在「同一個站台」區分「不同應用程式」且還要能讓 Session 彼此互通,這到底應該歸誰管呢?這可不是用「ASP.NET 開發伺服器」可以模擬出來的,而 IT 人員如果不會寫程式應該也不知該如何是好,這也是我認為 ASP.NET 開發人員應該多熟悉 IIS 的原因。
... 繼續閱讀 ...
我們都知道 WebClient 類別是個簡單易用的東西,不只可以用作 HTTP 用途,連 FTP 都能用,想偷懶時很快就能寫出一些網路資料上傳、下載的程式,像我在寫一些測試程式時經常會使用 WebClient 類別,但大多情況都用來「下載網頁」居多,少有模擬表單上傳資料的情況,但利用 WebClient 類別在「傳送表單資料」時要小心使用,否則遠端接不到資料又很難除錯時哪就麻煩了。
... 繼續閱讀 ...