安装 .net 4.5 后,某些性能计数器显示错误的值

8
在Windows Web Server 2008 R2上安装.NET 4.5后,一些性能计数器显示错误的值。我正在使用内置的性能监视器,并查看组ASP.NET Apps v4.0.30319以获取计数器Anonymous Requests/Sec和Requests Executing。
在此之前,这些值反映了当前负载,具有波动值,但现在它们会随着每个请求而增加,因此它们的行为更像Total Requests和Total Requests Executing。
我们在生产环境和内部服务器上都看到了相同的行为。
您是否遇到过类似的问题?我在谷歌上没有找到任何相关信息。
谢谢 Patrik

感谢您报告此问题。我已在本地重现了该问题。开发人员将很快查看此问题。我会在此线程上随时通知您。同时,如果您能提交一个连接错误并让我知道连接错误的ID,那就太好了。这将使您在修复错误时获得适当的报酬。 - Anand
同时看起来这个问题只在Windows Web Server 2k8 R2版本上复现。在Win2k8 R2标准版上不会发生。 - Anand
嗨,Anand,感谢你的帮助。我已经在ID为765656的连接上发布了。我会尝试使用标准版来看看是否也适用于我们。 - Patrik
嗨@Anand,我们刚刚尝试了Win2k8 R2标准版,但不幸的是我们在那里看到了相同的行为。 - Patrik
感谢Patrik提供的详细信息。 - Anand
2个回答

8
现在已经提供了解决此问题的补丁。针对Windows 8的补丁为http://support.microsoft.com/kb/2805227,针对Windows 7平台的补丁为http://support.microsoft.com/kb/2805226。因此,以下解决方法不再需要。
解决此问题的解决方法是从4.5安装目录(例如“%systemroot%\Microsoft.Net\Framework64\v4.0.30319”)执行以下命令:
  1. aspnet_regiis -u

  2. aspnet_regiis -I或aspnet_regiis -iru

请注意保留HTML标记。

这在我们的测试服务器上运行正常,本周稍后将尝试在生产环境中使用。谢谢! - Patrik
警告:这将更改当前使用 .NET 4 或 4.5 的所有应用程序池的 .NET 版本,并设置为 .NET 2! - RolandoCC
这个 MS 热补丁,只适用于 Win Server 2012 吗? - Luke Puplett
感谢Luke和Rolando的评论。我已经更新了我的答案中与Windows8和Windows7平台上框架更新相关的链接。顺便说一下,还有一个与此问题无关的 .Net 4.5 更新可用。(http://support.microsoft.com/kb/2805222 适用于Windows 8 平台,http://support.microsoft.com/kb/2805221 适用于Windows 7平台) - Anand
安装这两个更新(2805221和2805226)对我来说有效,但需要重新启动! - RolandoCC

1
一件让人想到的事情是这个注册表键上的权限:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\version of ASP.NET\Names 

我会先检查这些设置并确保它们是正确的。如果你有多个版本,甚至可以交叉检查/比较设置(例如,如果2.0仍然正常工作)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接