我们的服务器运行的是 Windows Server 2003。我们已经在 IIS 中更新了我们网站的 .Net 版本以使用 4.0。随机时间,每周 1-2 次,因为更改发生,触发快速失败,站点因 503 错误而被关闭。
应用程序日志显示了一系列触发快速失败触发器的错误。每组有两个错误,最多 10 个快速失败触发器。错误是:
上午 1:27:21
.NET 运行时 4.0 错误
EventType clr20r3、P1 w3wp.exe、P2 6.0.3790.3959、P3 45d6968e、P4 app_code.xqrjkjyl、P5 0.0.0.0、P6 51345a6b、P7 252、P8 0、P9 system.stackoverflowexception , P10 无。上午 1:27:11
.NET 运行时
应用程序:w3wp.exe
框架版本:v4.0.30319
描述:该进程因堆栈溢出而终止。
请注意,4.0 错误出现在未命名的 .Net 错误之后 10 秒。我相信未指定的 .net 版本错误是针对我们从旧的 2.0 框架迁移而来的。
在 IIS6 中,处理程序设置为使用 4.0。我们在主站点下也有几个应用程序池。所有这些的 web.config 文件都指定 4.0 作为要使用的框架:
<compilation debug="false" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<!--<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
</assemblies>