部署基于 ASP.NET 2.0 应用程序正在运行 IIS 7.0 或 IIS 7.5 集成模式下的服务器上时,会出现两个问题


症状


部署到办公室 SharePoint 服务器承载的 Web 站点基于 Microsoft ASP.NET 2.0 的 Web 应用程序。您有 Internet Information Services (IIS) 7.0 或 IIS 7.5 集成模式下运行在服务器上。在此情况下,您会遇到以下问题。

问题 1

您部署 SharePoint 网站上的某些部分信任的 Web 部件。这些 Web 部件已不是他们应该有更多的权限。在 SharePoint 网站上,此问题可能会产生安全隐患。 例如,这些 Web 部件可能会生成数据库请求或 HTTP 请求意外。该行为会导致安全风险。

注意:部分受信任的 Web 部件的 Web 部件部署到 Web 应用程序的 Bin 目录。

问题 2

在 ASP.NET 性能对象"的请求排队"性能计数器功能不正确。当您运行 SharePoint 站点时,此问题可能会降低 SharePoint 站点的性能。

"请求排队"性能计数器正常当下列条件都为真︰
  • 在 IIS 经典模式下运行应用程序。
  • 当请求发布到公共语言运行时 (CLR) 线程池时,性能计数器的值增加。
  • 如果请求将 CLR 线程池,减少性能计数器的值。

原因


问题 1

由于 ASP.NET 2.0 身份验证组件中的错误而出现此问题。该错误将导致部分受信任的 Web 部件,以模拟应用程序池帐户。因此,这些 Web 部件具有完全的权限来访问 SharePoint 网站。

问题 2

因为"ASP.NET\Request 排队"性能计数器仅报告值,ASP.NET 队列中请求排入队列时,将出现此问题。它不计算为 CLR 线程池等待的请求。

解决方案


问题 1

此修补程序可设置可在 ASP.NET 2.0 中新的应用程序。新建应用程序设置为 aspnet:AllowAnonymousImpersonation。可以通过将下面的一节添加到 Web.config 文件中启用此设置︰
    <appSettings>        <add key="aspnet:AllowAnonymousImpersonation" value="true" />
</appSettings>

若要启用此设置,您必须具有 IIS 7 或 IIS 7.5 集成模式下运行。启用此设置后,在 IUSR 标识的安全上下文下运行应用程序。

问题 2

如果您在应用此修补程序后监控"ASP.NET\Request 排队"性能计数器,,看相同的应用程序相同的负载的情况下增加的值。这是因为"ASP.NET\Request 排队"性能计数器计算两个 ASP.NET 队列中排队的请求和 CLR 线程池中正在等待的请求。

修补程序信息

受支持的修补程序现已从 Microsoft 推出。但是,它被用于纠正本文中描述的问题。它仅应用于正经历此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个 service pack。

要立即解决此问题,请联系 Microsoft 客户支持服务,以获取此修复程序。Microsoft 客户支持服务的电话号码以及有关支持费用的信息的完整列表,请访问下面的 Microsoft 网站:注意: 在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能取消的通常情况下收取的电话支持服务费用。照常收取支持费用将应用于其他支持问题和对于特定更新无法解决的问题。

系统必备组件

若要应用此修补程序,您必须运行下列操作系统之一的计算机上安装 Microsoft.NET Framework 3.5 Service Pack 1 (SP1):
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008 SP2
  • Windows 7
  • Windows Server 2008 R2

重启要求

如果当您安装此热修复程序正在使用任何受影响的文件在应用此修补程序后,必须重新启动计算机。若要避免重新启动计算机,请安装此修复程序之前关闭任何 ASP.NET 网站。

修补程序替换信息


此修补程序不替换任何其他修补程序。

文件信息

此修复程序的英文版具有的文件属性 (或更新的文件属性)在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
对于所有受支持的基于 x86 的版本和 Windows Server 2008 SP2 的 Windows Vista SP2
文件名称文件版本文件大小日期时间平台
Aspnet_wp.exe2.0.50727.443530,54403-Mar-201012:08x86
Webengine.dll2.0.50727.4435435,53603-Mar-201012:08x86
System.web.dll2.0.50727.44355,242,88003-Mar-201012:08x86
对于所有受支持的基于 x64 版本的 Windows Vista SP2 以及 Windows Server 2008 SP2
文件名称文件版本文件大小日期时间平台
Aspnet_wp.exe2.0.50727.443542,32003-Mar-201012:08x64
Webengine.dll2.0.50727.4435744,78403-Mar-201012:08x64
System.web.dll2.0.50727.44355,255,16803-Mar-201012:08x64
对于所有受支持的基于 IA-64 的版本的 Windows Server 2008 SP2
文件名称文件版本文件大小日期时间平台
Aspnet_wp.exe2.0.50727.443582,25603-Mar-201012:09IA-64
Webengine.dll2.0.50727.44351,229,64803-Mar-201012:09IA-64
System.web.dll2.0.50727.44354,775,93603-Mar-201012:09IA-64
对于所有受支持的基于 x86 的 Windows 7 版本
文件名称文件版本文件大小日期时间平台
Aspnet_wp.exe2.0.50727.500730,54403-Mar-201023:27x86
Webengine.dll2.0.50727.5007436,04803-Mar-201023:27x86
System.web.dll2.0.50727.50075,246,97603-Mar-201023:27x86
对于所有受支持的基于 x64 版本的 Windows 7 以及 Windows Server 2008 R2
文件名称文件版本文件大小日期时间平台
Aspnet_wp.exe2.0.50727.500742,32003-Mar-201023:26x64
Webengine.dll2.0.50727.5007745,29603-Mar-201023:26x64
System.web.dll2.0.50727.50075,255,16803-Mar-201023:26x64
对于所有受支持的基于 IA-64 的 Windows Server 2008 R2 版本
文件名称文件版本文件大小日期时间平台
Aspnet_wp.exe2.0.50727.500782,25603-Mar-201023:25IA-64
Webengine.dll2.0.50727.50071,231,18403-Mar-201023:25IA-64
System.web.dll2.0.50727.50074,775,93603-Mar-201023:25IA-64

解决方法


若要解决问题 1,请使用下列方法之一。

方法 1

创建具有相同的用户名和密码作为 IUSR 标识的帐户。然后,在标识部分中,键入名称和密码然后到应用程序级的 Web.config 文件中添加节。例如,在应用程序级别 Web.config 文件添加以下部分︰
<identity impersonate="true" username="username" password=" password" />
此外,您必须向应用程序级 Web.config 文件,以添加标识节时发生的 IIS 配置错误添加以下配置︰
<system.webServer><validation validateIntegratedModeConfiguration="false" />
</system.webServer>
方法 2

在 IIS 经典模式下启用匿名身份验证,ASP.NET 基于表单的验证。然后,使用以下配置模拟匿名用户令牌︰
<identity impersonate=”true”/>
在这种情况下,匿名用户令牌是 IUSR 令牌。

状态


Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息


有关可用于部署的 SharePoint Web 部件的选项的详细信息,请访问下面的 Microsoft TechNet Web 站点︰对于 ASP.NET 性能计数器的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) Web 站点︰有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

用于描述 Microsoft 软件更新的标准术语的824684说明