這問題我遇到第二次了,第一次遇到時濛濛懂懂的解決了。但不知為何越來越有種不想讓自己迷迷糊糊過一生的感覺,所以拼了命也要將模糊的地帶給釐清,於是又花了好幾個鐘頭把來龍去脈給釐清,避免日後又再度遇到同樣的問題。這是個關於透過 XmlWriter 撰寫 XML 的問題,不管我如何設定 Encoding 編碼都無法改變輸出的編碼,經過一番努力辯證之後才徹底釐清觀念,以後也不會再混淆了。
... 繼續閱讀 ...
try-catch 幾乎是每天必碰的程式碼,新手程式設計師應該很容易瞭解 try-catch 該怎麼使用,但不見得能深入思考「為什麼」要有 例外狀況(Exception) 的存在,存在的理由很多,但我個人認為最重要也最單純的理由是『例外狀況試圖不讓你的程式繼續執行下去』,這聽起來像是個廢話,但或許有人沒有認真的想過這個問題,而這樣的一個理由在面對日常程式開發上又有什麼重大的影響呢?
... 繼續閱讀 ...
在專案開發初期,我們都會寫很多測試程式碼(Test Code)用來紀錄或顯示程式執行時期的狀態,雖然開發環境有中斷點 (Breakpoint) 可以使用,但程式部署到測試機或正式機時卻未必有開發工具可用,這時利用自己寫的測試程式碼就非常有用,但專案上線前若又需要把測試程式碼刪除頗為麻煩,今天我就打算分享一些很實務的偵錯開發技巧。
... 繼續閱讀 ...
我們有個常見的功能是限制使用者導向到 SSL 的網頁,這時我們就必須修改 HTTP 要求(Request)的網址到 https 的網址,或是需要修改網址的部分結構(例如 schema 或 port 等等),這時我們可能會用字串取代 String.Replace 方法 (如下範例),但這種寫法有很多瑕疵,以下是本篇文章的分析報導。
... 繼續閱讀 ...
在 Web 的世界裡活用 Cache 已經是不可或缺的觀念與技能之一,即便不是 Web 環境,Cache 也是非常重要的技能之一,所以我們現在的專案之中也有越來越多案子需要實做 Cache 機制,以下分享我們常用的 Cache 相關程式碼。
... 繼續閱讀 ...
Mono 2.4.2 已釋出,除了修正超過 150 的 Bugs 外,這一版還有個特點就是正式支援 ASP.NET MVC 的執行環境,以及 C# Shell 可以讓你把 C# 程式碼檔 Shell Script 來執行,而這兩個功能正是我想要的。
... 繼續閱讀 ...
這好像不是什麼有意義的題目,雖然我知道有 File.Exists 與 Directory.Exists 可用,只是我昨天心血來潮想找找 .NET Framework 中是否有檢查某「路徑字串」是「檔案」或「目錄」的方法(Method),一開始先猜想 Path 類別是否有相關的 Method,但找不到。
... 繼續閱讀 ...
記得以前在寫 Perl 或 PHP 時都可以直接用內建的 Regular Expression 功能直接比對二進位的字串內容,但到了 .NET 就不知道怎麼做了,因為當你使用 System.Text.RegularExpressions 命名空間所接受的輸入參數只有 String 型別,並不接受 byte[] 位元陣列。
... 繼續閱讀 ...
之前分享過 "如何透過 C# 啟動、停止、重新啟動 Windows 服務",這是從一個「程序外」的角度來談如何透過 C# 控制服務狀態。但是最近卻遇到需要在執行中的 Windows Service 應用程式中在特定運作條件下需自行停止的情況,也就是「程序本身」要「自我了結」的狀況,我真的試了好久才試出來。
... 繼續閱讀 ...