升级到 dot net 4 后出现 IIS 错误
早在 10 月份,我们就将其中一个站点(在 IIS 6 上)从 .net 3.5 升级到 .net 4.0。从那时起,我们几乎每天都会收到以下警告和错误:
警告:
ISAPI 'c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll' 报告自己不健康 以下原因:“检测到死锁”。
错误:
不可能同时运行两个 不同版本的 ASP.NET 相同的 IIS 进程。请使用IIS 用于重新配置的管理工具 您的服务器来运行应用程序 一个单独的过程。
我们检查了所有应用程序,并确保它们在正确版本的 ASP.NET 上运行,并且也在它们自己的单独应用程序池中运行。
我们查看了记录错误时的 IIS 日志,但这并没有提供有关该问题的任何线索。是否有可用的工具可以为我们提供有关哪个应用程序导致错误以及当时发生了什么的更多信息?
Back in October we upgraded one of our sites (on IIS 6) from .net 3.5 to .net 4.0. Since then we have been getting the following warning and error pretty much everyday:
Warning:
ISAPI
'c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll'
reported itself as unhealthy for the
following reason: 'Deadlock detected'.
Error:
It is not possible to run two
different versions of ASP.NET in the
same IIS process. Please use the IIS
Administration Tool to reconfigure
your server to run the application in
a separate process.
We have checked all applications and ensured that they are running on the correct versions of ASP.NET and also in their own separate app pools.
We have looked at the IIS logs at the time the errors are recorded but this doesn't give any clues as to the issue. Is there a tool available that could give us more information as as to which application is causing the errors and what was happening at the time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此处的讨论可能对您也有帮助:
(...)
The discussion here might be helpfull for you as well:
(...)
我遇到了完全相同的错误,这是由于我的 .NET 4.0 应用程序引用的 .NET 2.0 自定义错误页面。
我设置了一个在 .NET 2.0 中开发的自定义错误页面,并将其应用于 IIS 网站的顶层。
.NET 4.0 应用程序使用独特的 MVC URL 路由方案,并且由于某种原因该应用程序不断锁定,最终会出现这些死锁错误。
我摆脱了指向 .NET 2.0 网页的自定义错误页面设置,并将其切换回默认的“未找到”静态错误。我重新启动了应用程序池,网页开始正常工作,没有出现问题。
希望这对其他人有帮助。
http://adamantinewolverine.blogspot .kr/2012/10/running-iis6-in-32-bit-mode-on-64bit.html
I had the exact same error, and it was due to a .NET 2.0 custom error page that my .NET 4.0 app was referring to.
I had set up a custom error page that was developed in .NET 2.0 and it was applied at the top level of the IIS web site.
The .NET 4.0 application was using a unique MVC URL routing scheme, and for some reason just that application kept locking up and eventually those deadlock errors would come up.
I got rid of the custom error page setting which pointed to the .NET 2.0 web page and switched it back to the default "Not Found" static error. I restarted the application pool and the web page started working without issue.
Hope this helps someone else out there.
http://adamantinewolverine.blogspot.kr/2012/10/running-iis6-in-32-bit-mode-on-64bit.html