对于.net Framework 1.1,Windows Vista 上请求 ASP.NET 页时,您会收到一个 DEP 冲突有关的错误消息

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

916440
本文已归档。它按“原样”提供,并且不再更新。
测试版信息
本文讨论了 Microsoft 产品的试用版本。在本文中提供信息,作为-是,可能会有所更改,恕不另行通知。

可从 Microsoft 为此测试版产品的正式的产品支持。有关如何获取对 Beta 版本的支持,请参见测试版的产品文件附带的文档,或到您下载该版本的 Web 位置查看。

症状
请考虑以下情形。您的 Microsoft.net Framework 1.1 Microsoft Windows Vista 上安装 Microsoft ASP.NET。然后,您可以创建一个 ASP.NET 页。请求 ASP.NET 页,并且该工作进程停止响应。在这种情况下您会收到一条错误消息,指出由于违反某数据执行保护 (DEP) 已关闭的工作进程。

注意.NET Framework 1.1 的 ASP.NET 将不会在 Windows Vista 具有 Microsoft Internet Information Services IIS 7.0 上运行。
原因
出现此问题的原因是,.net Framework 1.1 运行库不支持 dep。 IIS 7.0 上 Windows Vista 仅支持完全的隔离 ASP.NET 进程模型。完全的隔离 ASP.NET 进程模型要求启用了没有执行 (NX) 功能。

注意默认状态下,不包括与 Windows Vista.net Framework 1.1。
解决方案
若要解决此问题,应用.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 XP SP2 和 Windows Server 2003 SP1 中的 Windows 操作系统。硬件上运行应用程序时支持 NX,的所有代码不标记为 EXECUTE 导致的硬件故障或访问冲突的页中运行。DEP 有助于防止堆栈溢出和堆溢出攻击。下面的.net 框架运行库版本具有更多的 NX 支持:
  • .NET Framework 1.0 SP3
  • .NET Framework 1.1 SP1
  • .NET 2.0 Framework
如果启用了 NX,则所有其他版本的.net 框架运行时不会加载。Windows 提供了 Windows XP、 Windows Server 2003,和 Windows Vista 中的应用程序填充。这些应用程序垫片禁用 NX 非 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 应用程序填充标记的。因为它不标记上, 一个公共语言运行库 (CLR) 可以启用 NX 时加载有错误。

在 Windows XP SP2 中和在 Windows Server 2003 SP1 中,不会发生此问题。 Windows XP SP2 成功运行 ASP.NET 的.net Framework 1.1,因为它使用与 IIS 进程内 ASP.NET 进程模型。 .NET Framework 1.1 SP1 将包含在 Windows Server 2003 SP1 中。 因此,没有为原始发行版的.net Framework 1.1,与在 Windows Server 2003 SP1 中启用的 NX 运行 ASP.NET 的选项。

Warning: This article has been translated automatically

属性

文章 ID:916440 - 上次审阅时间:01/17/2015 13:49:07 - 修订版本: 1.2

  • Microsoft .NET Framework 1.1
  • Microsoft ASP.NET 1.1
  • kbnosurvey kbarchive kbmt kbiis kbinfo kbbug kbtshoot kbprb KB916440 KbMtzh
反馈