The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

在 HttpHandler 中使用 Session 的注意事項

在寫 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),只要單純的將介面繼承上去即可。

... 繼續閱讀 ...

介紹好用工具:簡報計時器(Presentation Timer)

在到客戶端簡報的時候怕的就是時間不夠用,但最慘的應該是時間還沒用完但你事實上已經講完了,呵~ 但大多時候真的是時間不夠用居多啦,時間不夠用除了真的內容太豐富以外,自己準備不夠應該才是主因,因為簡報時間你已經預先知道了,所以你應當在時間內將最精華的部分表現出來,並用最淺顯易懂的方式將觀念傳遞給聆聽者。

... 繼續閱讀 ...

如何解決字集混亂的問題

前天替一個網友解決了一個 Encoding 混亂的問題:ASP.net 傳遞中文至Web Service 亂碼問題,像這種這個問題最常出現在「非 Unicode 的系統」裡,像這個案例就是他們的 Web Service 是用 PHPNuSOAP 開發的,因為預設就是用 ISO-8859-1 的字集做資料的編碼與傳輸,所以資料在同樣的字集傳輸下,在非原生(Non-Native)支援 Unicode 的程式語言下很自然的不會發現問題,但是一到了 .NET 就不一樣了,.NET 是一個打從骨子裡支援 Unicode 的架構,所以對 Encoding 是很敏感的。

... 繼續閱讀 ...

如何顯示固定寬度的 Label, 超過會顯示 ...

我們在套版的時候,常常會遇到那種「文字寬度固定」的版型,我們通常的作法都是用 Substring 將長篇的文字擷取一部份起來顯示,但問題是「中文字的寬度常常無法估計」,但客戶又要求寬度一定要跟設計師設計的一模一樣,文字太多的時候不能超出版面,以免破壞美美的版面。

... 繼續閱讀 ...

如何讓使用者下載完檔案後自動刪除暫存的檔案

我們有時後會在 Server 端動態的產生一個檔案,然後讓使用者下載,你也有可能希望使用者下載完該檔的時候可以直接從 Server 端直接刪除,不過這個動作無法在一個 HTTP Request/Response 循環中完成,因為檔案正在傳送回用戶端時並無法刪除該檔!

... 繼續閱讀 ...