The Will Will Web

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

Microsoft Expression Web 3 Service Pack 2 已提供下載

自從好幾個月前將 Firefox 升級到 3.6 版後導致 Microsoft Expression Web 3 SuperPreview 無法分析網頁在 Firefox 3.6 的顯示狀況,直到前幾天推出的 Microsoft Expression Web 3 Service Pack 2 (SP2) 終於解決此問題。除此之外,也解決幾個在 Expression Web 3 有時會掛掉的重大問題,有在使用的人趕快更新吧。

... 繼續閱讀 ...

儲存容量單位:Bit, Byte, KB, MB, GB, TB , PB, EB, ZB, YB

這些單位在高中職的計算機概論似乎都學過了,不過我以前的書本好像也只有教到 GB,現在的教科書可能有教到 TB 或 PB 吧,但我不確定,不過在不久的將來可能又會有更大的單位有機會用到,這幾天正好玩了一個測驗腦容量的無聊遊戲,也藉此瞭解了更多儲存容量的單位。

... 繼續閱讀 ...

Message Queuing (MSMQ) 學習心得分享

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

... 繼續閱讀 ...

如何刪除 Windows 7 特定應用程式的捷徑清單 (Jump Lists)

之前分享過 如何清空 [開始] / [執行] 的所有歷史紀錄 我個人覺得非常實用,但最近卻想到 Windows 7 提供的 捷徑清單 (Jump List) 也是類似最近開啟的紀錄,但與之前 Vista/XP 的 最近開啟的文件(Recent)不同路徑,雖然找到清除的方法,但我不想將所有捷徑清單清除掉,而只想清除特定應用程式的捷徑清單而已,我找了好久才找到刪除這些資料的方法!

... 繼續閱讀 ...

IIS7 靜態內容壓縮的運作過程詳解

前陣子有人問說 IIS7 靜態內容壓縮為何無法運作,當我抽空研究之後發現一些有趣的現象,在 IIS7 的靜態內容壓縮功能在第一次透過瀏覽器下載網頁時並不會進行壓縮,而是要有第二次 HTTP Request 時才會對該內容進行壓縮,而這個時候才會真的耗用 CPU 資源進行檔案壓縮,壓縮完之後才會將壓縮內容回應到用戶端。

... 繼續閱讀 ...

解決 OutputCacheLocation 指定為 ServerAndClient 的問題

Web 效能調校博大精深,眉眉角角的細節之多實在難以整理,我想大部分人也都跟我一樣,也是從一次又一次與茶包戰鬥中累積經驗,這次又遇到了一個有趣的問題。當我想將頁面設定輸出快取時,可能會希望同時快取在伺服器端(Server)與用戶端(Client),因此在設定 OutputCache 時有個 Location 屬性,我們會將其設定為 ServerAndClient 或 Any,但是你可否知道即便你這樣設定,一樣無法快取網頁內容於用戶端(Client),所以單單這樣設定並沒有達到我們真正想達到的目的 ( 同時在 Server 與 Client 快取網頁 )。

... 繼續閱讀 ...

解決 N-Tier 多層架構設計下 LINQ to SQL 效能不彰的問題

ASP.NET MVC 的開發原則有個 SoC (Separation of Concern) 的觀念,我們在開發較大型的 ASP.NET MVC 應用程式時會特別將資料存取層(Data Access Layer) 再細分為兩個層次,分別是 Repository Layer (資料倉儲層) 負責資料存取與欄位格式驗證,與 Service Layer (服務提供層) 負責資料篩選與商業邏輯驗證,但分層之後遇到了一個之前沒想過的問題,進而導致 LINQ to SQL 查詢效能不彰。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (17):OutputCache 帶來的問題

為了能讓網站運作時能夠得到最好執行效能,運用 OutputCache 機制絕對是不可或缺的技能之一,而在 ASP.NET MVC 套用 OutputCache 機制就是使用 OutputCacheAttribute Class 即可輕易做到輸出快取,不過在套用 OutputCache 的過程也很有可能會遇到一些莫名的錯誤,須了解背後原理才能得知問題發生的原因。

... 繼續閱讀 ...