對於.NET Framework 1.1,Windows Vista 上要求 ASP.NET 網頁時,收到錯誤訊息有關 DEP 違規

文章翻譯 文章翻譯
文章編號: 916440 - 檢視此文章適用的產品。
Beta 版資訊
本文將告訴您的 Microsoft 產品的 Beta 版本。本文資訊提供來做-是,若有變更,恕不另行通知。

使用來自 Microsoft 這個 Beta 版產品沒有正式的產品支援。有關如何取得 Beta 版本支援的詳細資訊,請參閱隨附於 Beta 版產品檔案的文件或檢查下載此版本的 Web 位置。

全部展開 | 全部摺疊

徵狀

考慮下列案例。您的 Microsoft.NET Framework 1.1 上 Microsoft Windows Vista 安裝 Microsoft ASP.NET。然後您可以建立 ASP.NET Web 網頁。要求 ASP.NET] 頁面,而背景工作處理序停止回應。在這種情況下,您會收到錯誤訊息,說明由於違反資料執行防止 (DEP) 已關閉工作者處理序。

附註.NET Framework 1.1 的 ASP.NET 將不會在 Windows Vista 與 Microsoft 網際網路資訊服務 (IIS) 7.0 上執行。

發生的原因

之所以發生這個問題,是因為.NET Framework 1.1 執行階段不支援的 DEP (資料執行防止)。 IIS 7.0 上 Windows Vista 只支援完整的隔離 ASP.NET 處理序模型。完整的隔離 ASP.NET 處理序模型需要啟用無執行 (NX) 功能。

附註預設情況下,.NET Framework 1.1 不會包含與 Windows Vista。

解決方案

若要解決這個問題,套用在.NET Framework 1.1 Service Pack 1 (SP1)。 套用這個 Service Pack 之後 ASP.NET 1.1 為基礎的應用程式可以在 IIS 7.0 下執行。

如需 information.NET Framework 1.1 Service Pack 1,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
885055如何取得 Microsoft.NET Framework 1.1 Service Pack 1

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

DEP 也稱為是 NX 功能。DEP 已引入 Windows 作業系統,在 Windows XP SP2 和 Windows Server 2003 SP1。當您執行應用程式的硬體上的支援 NX 所有程式碼從因為硬體錯誤或存取違規,會導致 EXECUTE 未標記的網頁執行。DEP 可以防止堆疊滿溢和堆積滿溢攻擊。下列版本的.NET Framework 執行階段有額外的 NX 支援:
  • .NET Framework 1.0 SP3
  • .NET Framework 1.1 SP1
  • .NET Framework 2.0
如果已啟用 NX,所有其他版本的.NET Framework 執行階段不會載入。Windows 提供 Windows XP、 Windows Server 2003 和 Windows Vista 中的應用程式修正。這些應用程式修正停用任何處理程序所載入非 NX 相容 Runtime NX。

NX 是開啟或關閉每個處理程序建立處理程序時。因此,處理程序無法啟動時的兩個設定之間切換。這是 IIS 和 ASP.NET 一項很重要的考量。

在 Windows Server 2003 上的 IIS 6.0 支援兩種 ASP.NET 處理序模型。 完整的隔離 ASP.NET 處理序模型會使用 W3wp.exe 檔裝載執行階段。同處理序 ASP.NET 處理序模型會使用 Aspnet_wp.exe 檔裝載執行階段。 在 Windows Vista 上的 IIS 7.0 只支援完整的隔離 ASP.NET 處理序模型。 Windows XP 只支援同處理序 ASP.NET 處理序模型。 完整的隔離 ASP.NET 處理序模型不標幟由 Windows NX 應用程式修正。因為它不標幟時 NX 已啟用先前公用語言執行時間 (CLR) 可以載入有錯誤。

在 Windows XP SP2 和 Windows Server 2003 SP1 中,不會發生這個問題。 Windows XP SP2 順利執行 ASP.NET 的.NET Framework 1.1 因為它使用同處理序 ASP.NET 處理序模型與 IIS。 .NET Framework 1.1 SP1 所隨附 Windows Server 2003 SP1。 因此,就執行 ASP.NET 的原始發行版本的.NET Framework 1.1,與在 Windows Server 2003 SP1 中啟用的 NX 沒有選項。

屬性

文章編號: 916440 - 上次校閱: 2006年5月26日 - 版次: 1.2
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 1.1
  • Microsoft ASP.NET 1.1
關鍵字:?
kbmt kbiis kbinfo kbbug kbtshoot kbprb KB916440 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:916440
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com