ASP.NET | The Will Will Web

The Will Will Web

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

如何讓 ASP.NET 依據瀏覽器指定的語系自動選用資源檔

當要利用 ASP.NET 開發多國語系的網站時,我們通常都會利用資源檔 (Resource File; *.resx) 定義網頁中會用到的文字,而且每一種語系就可以定義一組翻譯資料。不過若要讓 ASP.NET 可以讓使用者在第一次進入網站時自動選取該使用者預設的語系進行顯示是再好不過的了,只是 ASP.NET 在預設的情況下這個特性是關閉的。

... 繼續閱讀 ...

介紹好用工具:Managed Stack Explorer

微軟最近推出了一套新工具叫做 Managed Stack Explorer ( MSE ) 可以分析任何使用 .NET 2.0 以上的應用程式執行過程的所有 Call Stack,他可以詳實的紀錄 .Net 應用程式執行的過程,包括在 .Net 執行時所有的執行緒(Threads),最主要的功用可以用來快速偵測 .Net 程式掛掉 (Hang) 的執行緒或特定類別的特定方法(Method)。除此之外,還可以偵測 IIS6 的 Worker Process (w3wp.exe) 上所有執行中的 ASP.NET 應用程式,所以包含 ASP.NET 頁面 Hang 住的情況也能夠協助分析問題。

... 繼續閱讀 ...

存取被拒絕,因此無法開始監視 \\x.x.x.x\XXX 的變更 (IIS7)

我去年曾經寫過一篇關於『存取被拒絕,因此無法開始監視 \\192.168.x.x\XXX 的變更 』的文章,當時是寫在 IIS6 的時候如何正確設定虛擬目錄,並讓 ASP.NET 網站能夠正常運作。今天我正式遇到 IIS7 的例子,並藉此分享 IIS7 如何正確設定目錄在 UNC 下的虛擬目錄(Virtual Directory)

... 繼續閱讀 ...

CryptographicException: 控制碼無效(The handle is invalid)

我前天寫的【ASP.NET 使用 X509Certificate2 類別匯入憑證檔時發生錯誤 】文章是說明有關於匯入憑證時發生的問題,雖然已經可以匯入憑證到本機電腦(Local Computer)但這並不代表你可以使用該憑證進行簽章或加解密的動作,運氣不好的話你會得到 控制碼無效The handle is invalid 的錯誤。

... 繼續閱讀 ...

ASP.NET 使用 X509Certificate2 類別匯入憑證檔時發生錯誤

我最近因為需要在 ASP.NET 網站發信,而且發出的電子郵件必須透過 S/MIME 憑證進行簽章,在本機測試的時候都沒有問題,但是一旦將程式部署到客戶端的主機時就會發生『系統找不到指定的檔案 (The system cannot find the file specified.)』的錯誤,檔案明明就有完整的讀取權限,但錯誤訊息卻是「系統找不到指定的檔案」?我已經被這個問題困擾好幾個星期了。

... 繼續閱讀 ...

Web Deployment Project 如何自訂 AfterBuild 目標(VS2008)

在我上次介紹 Web Deployment Projects 的文章中有提到你可以自行修改 Web Deployment Project ( WDP ) 的專案檔( *.wdproj ) 的內容,因為此專案檔實際上是透過 MSBuild 編譯執行的,你可以自行擴充 BeforeBuild, BeforeMerge, AfterMerge, 或 AfterBuild 目標,不過當 WDP for VS2005 升級到 WDP for VS2008 時有做出一些調整,會導致有些自訂動作怎麼寫都不成功。

... 繼續閱讀 ...

介紹一個 ASP.NET 裡鮮為人知的 Response.Filter 屬性

ASP.NET 有一個鮮為人知也很少人使用的 Response.Filter 屬性,Response.Filter 屬性本身是一個 Stream 型別,所以可以利用 Stream 的特性,將 Response.Filter 傳給下一個 Stream 進行資料處理。換句話說,你就可以透過繼承自 Stream 的自訂型別去修改 Response.Filter 傳入的資料,並且將資料進行修正動作。

... 繼續閱讀 ...

如何在 ASP.NET 專案中使用 SQL Server Compact 資料庫

最近在研究 SQL Server Compact ( 或稱 SQL CE ) 資料庫,也順帶研究如何才能讓 SQL CE 資料庫可以在 ASP.NET 環境中正常使用,由於 SQL CE 資料庫在定位上是比較屬於嵌入式資料庫( Embeded Database ),雖然在桌面環境也能使用,不過也僅建議用在「單人操作」的系統中,像對於 ASP.NET 這種多人同時使用的 Web 環境預設就不支援了。

... 繼續閱讀 ...

ASP.NET 網站部署可考慮使用 Web Deployment Project

Web Deployment Project (WDP) 是一個在 Visual Studio 外掛上去的專案類型,主要目的是提供你將現有 ASP.NET Website Project (網站專案) 或 ASP.NET Web Application Project (網站應用程式專案) 另一種部署網站的方式,讓你開發的網站在建置、封裝、部署時擁有更多的選項,也讓網站部署更加方便與自動化。

... 繼續閱讀 ...