在 .NET 裡要執行外部程式我們都是用 System.Diagnostics.Process.Start 方法,不過我們在執行外部程式時經常會需要設定 Timeout 逾時時間,以確保原本的主程式能夠繼續運作下去。除此之外,我今天也會介紹「同步」與「非同步」的 Timeout 撰寫技巧。
... 繼續閱讀 ...
最近微軟推出 MSDN Code Search Preview 可以方便你搜尋所有在 MSDN Library、MSDN Code Gallery 以及 CodePlex 中出現的範例程式(Sample Code),似乎看來是個不錯的東西,對於一些很少人使用又缺乏範例程式的 .NET 類別真的可以找到不少可參考的完整範例!
... 繼續閱讀 ...
今天參加 Microsoft MVP 的聚會,在研討 Microsoft Visual Studio 10 開發工具技術應用座談會中我有提到一個在 Channel 9 有個 10-4 的專題系列影片,裡面講解許多關於 .Net Framework 4.0 與 Visual Studio 2010 的新功能預覽,透過影片的帶領可以讓你快速瞭解 Visual Studio 2010 的新功能與特色,也看的到新版 Visual Studio 採用 WPF 技術所開發出來的全新 UI ( 使用者介面 ),我相信對各位來說絕對會是個全新體驗。
... 繼續閱讀 ...
我前天寫的【ASP.NET 使用 X509Certificate2 類別匯入憑證檔時發生錯誤 】文章是說明有關於匯入憑證時發生的問題,雖然已經可以匯入憑證到本機電腦(Local Computer)但這並不代表你可以使用該憑證進行簽章或加解密的動作,運氣不好的話你會得到 控制碼無效 或 The handle is invalid 的錯誤。
... 繼續閱讀 ...
我最近因為需要在 ASP.NET 網站發信,而且發出的電子郵件必須透過 S/MIME 憑證進行簽章,在本機測試的時候都沒有問題,但是一旦將程式部署到客戶端的主機時就會發生『系統找不到指定的檔案 (The system cannot find the file specified.)』的錯誤,檔案明明就有完整的讀取權限,但錯誤訊息卻是「系統找不到指定的檔案」?我已經被這個問題困擾好幾個星期了。
... 繼續閱讀 ...
我知道大家都常利用 Google 查詢技術文件,尤其經常查閱 MSDN 文件,但各位可能不知道同一份文件在 MSDN 上有好幾個版本,以下圖為例,當我搜尋 HttpUtility 關鍵字時,回應的第一個連結網址有加上 (VS.80) 在上面,這代表這份文件是在 Visual Studio 2005 / .NET Framework 2.0 撰寫的,也代表這並不是最新版的文件!
... 繼續閱讀 ...
我在 Setup 專案的自訂動作(Custom Actions)裡經常會寫許多判斷,用以檢查安裝過程中一些必要的條件是否成立,例如資料庫是否可正常連線、適當的安裝參數是否有正常傳入、…等等。但是在檢查的過程中若發現條件不足時,正確的回應方式應該要使用 InstallException 類別丟出例外狀況,讓安裝程式進行復原(Rollback)動作,但是這個 InstallException 例外狀況的「發生點」也是挺重要的。
... 繼續閱讀 ...
之前我們有個專案需要透過 Console Application (指令列程式) 解析上萬個檔案,而且每解析一個檔案就必須要啟動這個程式一次,為了縮短程式執行的時間,我們當時就採用 ThreadPool 技術進行開發,結果最近客戶購買了新主機,安裝了我們的程式後卻發現經常還沒跑完就死了,研究了好一番功夫才發現問題出在 .NET 2.0 預設的 Thread 數量變了。
... 繼續閱讀 ...