我們有個常見的功能是限制使用者導向到 SSL 的網頁,這時我們就必須修改 HTTP 要求(Request)的網址到 https 的網址,或是需要修改網址的部分結構(例如 schema 或 port 等等),這時我們可能會用字串取代 String.Replace 方法 (如下範例),但這種寫法有很多瑕疵,以下是本篇文章的分析報導。
... 繼續閱讀 ...
這好像不是什麼有意義的題目,雖然我知道有 File.Exists 與 Directory.Exists 可用,只是我昨天心血來潮想找找 .NET Framework 中是否有檢查某「路徑字串」是「檔案」或「目錄」的方法(Method),一開始先猜想 Path 類別是否有相關的 Method,但找不到。
... 繼續閱讀 ...
之前分享過 "如何透過 C# 啟動、停止、重新啟動 Windows 服務",這是從一個「程序外」的角度來談如何透過 C# 控制服務狀態。但是最近卻遇到需要在執行中的 Windows Service 應用程式中在特定運作條件下需自行停止的情況,也就是「程序本身」要「自我了結」的狀況,我真的試了好久才試出來。
... 繼續閱讀 ...
加入憑證簽章的郵件必須使用 S/MIME 標準,之前為了讓系統發出的郵件可以加入憑證簽章費了好一番功夫,有鑑於此需求非常罕見,在國內我是沒找到任何相關資料,即便在國外的網站相關資訊也很少,所以特此紀錄一下當時研究的過程。
... 繼續閱讀 ...
在 .NET 裡要執行外部程式我們都是用 System.Diagnostics.Process.Start 方法,不過我們在執行外部程式時經常會需要設定 Timeout 逾時時間,以確保原本的主程式能夠繼續運作下去。除此之外,我今天也會介紹「同步」與「非同步」的 Timeout 撰寫技巧。
... 繼續閱讀 ...
由於最近都在研究 Setup Project,所以在安裝與解除安裝 Windows 服務程式時都會需要透過自訂動作操作 Windows 服務的啟動或停止,今天我就來分享幾個透過 C# 對 Windows 服務啟動、停止、重新啟動的方法。
... 繼續閱讀 ...
技術變化的可真快,C# 3.0 推出還不到兩年,估計不久 C# 4.0 可能就要出爐了,這幾天抽空看了一下關於 C# 4.0 的新特性,感覺未來寫 C# 會越來越有 "彈性",是好是壞見仁見智,但我還蠻期待的,今天我就簡單介紹幾個 C# 4.0 的新特性。
... 繼續閱讀 ...
C# / .NET 是個完全物件導向的程式語言,所有的物件都有自己的型別(Type),所以瞭解型別與善用型別是開發 .NET 應用程式很重要的基礎。
... 繼續閱讀 ...
最近在看 Oxite 原始碼的時候,發現一段有趣的程式碼,感覺很像 Perl 的陣列,但我從未在 C# 程式中看到有人這麼用,如下範例:
... 繼續閱讀 ...
幾個月前曾經做一個系統整合的案子,要整合客戶內部的系統並提供新服務,進一步瞭解後才發現他們用的資料庫竟然是多年前的 MySQL 4.0 版,這個版本在官方早就不支援了,而且也無法下載的到任何檔案,所以我光是要設立開發環境都還有點困難,還好我有在義守大學的檔案伺服器找到舊版的 MySQL 伺服器。
... 繼續閱讀 ...
我個人有習慣收集一些網路上別人整理的速查表,因為程式開發的細節真的太多了,要能全部背起來不太可能,也沒什麼意義,甚至於有人說程式設計就是一件查詢、複製、貼上的工作而已。對我來說,寫程式首重觀念與經驗,有了完整而正確的觀念,就算記不得要怎麼寫,查詢一下就馬上能寫了;而有了經驗,對於一些難解的 Bug 自然能夠迅速解開。
... 繼續閱讀 ...
以往我們發信都會將 SMTP Server 的 IP 位址設定在 web.config 的 appSettings 裡,所以在程式中可以很輕易的取得 SMTP Server 的 IP,不過當遇到 SMTP Server 需要登入時,就會需要修改程式碼,這樣頗為麻煩,因為可能網站內會發信的地方可能不少。
... 繼續閱讀 ...