序列化是個很好用的開發方式,可以將任何繼承於 ISerializable 的 .NET 型別(Type)物件都可以被序列化成 Xml 或其他格式,以便於將複雜的物件資料儲存在資料庫或其他儲存媒體中。
... 繼續閱讀 ...
在 C# 執行進制的轉換可以透過 Convert 類別來操作,使用上還蠻方便的,在此列出幾個常用的寫法:
... 繼續閱讀 ...
當使用 ASP.NET 回應大型檔案的時候,通常有三種方式可以實做,但使用上有幾個地方要特別注意:
... 繼續閱讀 ...
我們在要在頁面中直接輸出一個變數可以使用 <%= DataTime.Now %> 等於法,或是透過一個頁面的屬性(Property)或方法(Method)進行存取,例如說:
... 繼續閱讀 ...
在寫 HttpHandler 或 Generic Handler 的時候,如果要使用 Session 物件的話,在 Visual Studio 中你可以很輕易的透過 Intellisense 使用 context. 時取得 Session 物件,但是你會發現這個物件會傳的值永遠都是 null,所以你是無法取得或設定 Session 資料的,如果要在 HttpHandler 中使用 Session 的話,其 HttpHandler 的類別一定要繼承 System.Web.SessionState.IRequiresSessionState 介面(讓 context.Session 可讀可寫)或 System.Web.SessionState.IReadOnlySessionState 介面(讓 context.Session 唯讀),繼承這個介面不需要實做任何方法(Methods),只要單純的將介面繼承上去即可。
... 繼續閱讀 ...
前天替一個網友解決了一個 Encoding 混亂的問題:ASP.net 傳遞中文至Web Service 亂碼問題,像這種這個問題最常出現在「非 Unicode 的系統」裡,像這個案例就是他們的 Web Service 是用 PHP + NuSOAP 開發的,因為預設就是用 ISO-8859-1 的字集做資料的編碼與傳輸,所以資料在同樣的字集傳輸下,在非原生(Non-Native)支援 Unicode 的程式語言下很自然的不會發現問題,但是一到了 .NET 就不一樣了,.NET 是一個打從骨子裡支援 Unicode 的架構,所以對 Encoding 是很敏感的。
... 繼續閱讀 ...
我們在套版的時候,常常會遇到那種「文字寬度固定」的版型,我們通常的作法都是用 Substring 將長篇的文字擷取一部份起來顯示,但問題是「中文字的寬度常常無法估計」,但客戶又要求寬度一定要跟設計師設計的一模一樣,文字太多的時候不能超出版面,以免破壞美美的版面。
... 繼續閱讀 ...
剛寫 .NET 的人最討厭的就是分成 VB.NET 與 C#,像是學 ASP 起家的人想要看懂 C# 就會感覺有點吃力,雖然我個人認為語法是蠻像的,但是對初學者來說就是覺得「很不一樣」。
... 繼續閱讀 ...
我們有時後會在 Server 端動態的產生一個檔案,然後讓使用者下載,你也有可能希望使用者下載完該檔的時候可以直接從 Server 端直接刪除,不過這個動作無法在一個 HTTP Request/Response 循環中完成,因為檔案正在傳送回用戶端時並無法刪除該檔!
... 繼續閱讀 ...