The Will Will Web

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

透過 Google 搜尋 MSDN 文件時的注意事項

我知道大家都常利用 Google 查詢技術文件,尤其經常查閱 MSDN 文件,但各位可能不知道同一份文件在 MSDN 上有好幾個版本,以下圖為例,當我搜尋 HttpUtility 關鍵字時,回應的第一個連結網址有加上 (VS.80) 在上面,這代表這份文件是在 Visual Studio 2005 / .NET Framework 2.0 撰寫的,也代表這並不是最新版的文件!

... 繼續閱讀 ...

如何利用 IIS7 的 ARR 模組實做 Reverse Proxy 機制

IIS7 的 ARR ( Application Request Routing ) 模組是個「非常強悍」的網站工具,今天抽空研究了一下,並成功設定 Reverse Proxy 機制,由於初學者要上手 ARR 真的有點困難,即便是對 Regular Expression 有經驗的 IT 人要成功設定都可能會遇到許多障礙,如果沒使用過 URL Rewrite 或不瞭解 Reverse Proxy 的人要上手那可是難上加難,所以今天我就分享一篇完整的安裝、設定過程。

... 繼續閱讀 ...

如何在 IIS 中將靜態檔案設定用戶端快取 (Client-side Cache)

當網站上線後,由於網站中許多靜態的網頁、圖檔、CSS、JavaScript 等資料都不會頻繁的變動,為了讓網頁的載入速度加快,我們通常都會將靜態檔案先設定 用戶端快取 (Client-side Cache),也就是所謂的 Expires Header 或稱 Cache Headers,這有別於我們在開發程式時所用的 伺服器端快取 (Server-side Cache)。

... 繼續閱讀 ...

在 Setup 專案中開發自訂動作(Custom Actions)應注意的事

我在 Setup 專案的自訂動作(Custom Actions)裡經常會寫許多判斷,用以檢查安裝過程中一些必要的條件是否成立,例如資料庫是否可正常連線、適當的安裝參數是否有正常傳入、…等等。但是在檢查的過程中若發現條件不足時,正確的回應方式應該要使用 InstallException 類別丟出例外狀況,讓安裝程式進行復原(Rollback)動作,但是這個 InstallException 例外狀況的「發生點」也是挺重要的。

... 繼續閱讀 ...

使用 ThreadPool 時應注意預設同時執行的 Thread 數量

之前我們有個專案需要透過 Console Application (指令列程式) 解析上萬個檔案,而且每解析一個檔案就必須要啟動這個程式一次,為了縮短程式執行的時間,我們當時就採用 ThreadPool 技術進行開發,結果最近客戶購買了新主機,安裝了我們的程式後卻發現經常還沒跑完就死了,研究了好一番功夫才發現問題出在 .NET 2.0 預設的 Thread 數量變了。

... 繼續閱讀 ...

在 Firefox 中使用 影像地圖(Image map) 該注意的事

之前我介紹過一個 jQuery Cycle Plugin 套件,非常適合用來做跑馬燈或廣告輪播,但是今天我遇到一個跨瀏覽器的問題。我們有做一個網站用到了 jQueryjQuery Cycle Plugin,為了讓 jQuery Cycle 可以在當滑鼠移進廣告看板的範圍時可以先停止輪播,否則使用者可能才剛想要點選廣告時廣告卻換走了的窘境。

... 繼續閱讀 ...

如何將自訂參數傳入 Installer 類別的 Install 方法 ( Part 2 )

若希望可以在透過 msiexec 進行靜默安裝時能夠傳入自訂的屬性(PROPERTY)到自訂動作(Custom Action)中,然後再透過自訂動作的 CustomActionData 屬性傳入實做自訂動作的 Installer 類別中,之前試過一次但不成功,還以為是 Msi 格式的限制,直到最近我終於找出方法與真正的限制所在了。

... 繼續閱讀 ...