當網站上線後,由於網站中許多靜態的網頁、圖檔、CSS、JavaScript 等資料都不會頻繁的變動,為了讓網頁的載入速度加快,我們通常都會將靜態檔案先設定 用戶端快取 (Client-side Cache),也就是所謂的 Expires Header 或稱 Cache Headers,這有別於我們在開發程式時所用的 伺服器端快取 (Server-side Cache)。
... 繼續閱讀 ...
我在 Setup 專案的自訂動作(Custom Actions)裡經常會寫許多判斷,用以檢查安裝過程中一些必要的條件是否成立,例如資料庫是否可正常連線、適當的安裝參數是否有正常傳入、…等等。但是在檢查的過程中若發現條件不足時,正確的回應方式應該要使用 InstallException 類別丟出例外狀況,讓安裝程式進行復原(Rollback)動作,但是這個 InstallException 例外狀況的「發生點」也是挺重要的。
... 繼續閱讀 ...
之前我們有個專案需要透過 Console Application (指令列程式) 解析上萬個檔案,而且每解析一個檔案就必須要啟動這個程式一次,為了縮短程式執行的時間,我們當時就採用 ThreadPool 技術進行開發,結果最近客戶購買了新主機,安裝了我們的程式後卻發現經常還沒跑完就死了,研究了好一番功夫才發現問題出在 .NET 2.0 預設的 Thread 數量變了。
... 繼續閱讀 ...
最近看黑大有分享幾個有趣的 IE8 啟動參數,個人覺得非常實用,也非常好奇,因為之前沒有注意過可以這樣用,而且 iexplore.exe 也沒辦法使用 iexplore.exe /? 查詢有哪些 switches 可用,所以就上網查了所有跟 IE 啟動有關的參數,分享於今天這篇文章。
... 繼續閱讀 ...
由於最近都在研究 Setup Project,所以在安裝與解除安裝 Windows 服務程式時都會需要透過自訂動作操作 Windows 服務的啟動或停止,今天我就來分享幾個透過 C# 對 Windows 服務啟動、停止、重新啟動的方法。
... 繼續閱讀 ...
之前我介紹過一個 jQuery Cycle Plugin 套件,非常適合用來做跑馬燈或廣告輪播,但是今天我遇到一個跨瀏覽器的問題。我們有做一個網站用到了 jQuery 與 jQuery Cycle Plugin,為了讓 jQuery Cycle 可以在當滑鼠移進廣告看板的範圍時可以先停止輪播,否則使用者可能才剛想要點選廣告時廣告卻換走了的窘境。
... 繼續閱讀 ...
若希望可以在透過 msiexec 進行靜默安裝時能夠傳入自訂的屬性(PROPERTY)到自訂動作(Custom Action)中,然後再透過自訂動作的 CustomActionData 屬性傳入實做自訂動作的 Installer 類別中,之前試過一次但不成功,還以為是 Msi 格式的限制,直到最近我終於找出方法與真正的限制所在了。
... 繼續閱讀 ...
雖然 MSDN 的 HOW TO:偵錯 Windows 服務應用程式 文件有教如何除錯,但是這樣的除錯有個大缺點,就是有時後程式碼是在 OnStart 事件一開始的時候就發生問題的,有時後就會因為來不及 附加 (Attach) 程序導致無法除錯。另外,對於「安裝專案」內的「自訂動作」由於是在專案的 Installer 類別中執行的,所以要對「安裝專案」進行除錯也不太容易。我今天就來分享幾個很簡單又有效的除錯密技。
... 繼續閱讀 ...
我們會將手邊的文件、畫面、網頁列印成 PDF 格式有許多好處,除了可以拯救北極熊外 (節能減碳),還可以讓在沒有安裝印表機的電腦將希望留下的頁面列印成 PDF 格式,然後可以將 PDF 帶到有印表機的電腦列印,或當成電子檔文件備份起來,以往這類的工具都是付費軟體居多,而 Bullzip PDF Printer 這套軟體算是做的好又免費的版本 ( 10 人以下組織免費 )。
... 繼續閱讀 ...