503 - 服务器不可用 - .Net 2.0和4.0冲突

时间:2013-03-05 15:13:55

标签: asp.net .net iis iis-6

我们的服务器运行的是Windows Server 2003.我们已经在IIS中更新了我们站点的.Net版本以使用4.0。在随机时间,自更改以来每周1-2次,触发快速失败并且站点被删除503错误。

应用程序日志显示了一系列错误,这些错误启动了快速失败触发器。每组有两个错误,直到10的快速失败触发器。错误是:

  

凌晨1:27:21    .NET Runtime 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 NIL。

     

凌晨1点27分11点    .NET Runtime
  应用: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>

1 个答案:

答案 0 :(得分:1)

您可以尝试使用iisstate(http://www.iisfaq.com/?View=P197)或iis debug diag(http://blogs.msdn.com/b/tess/archive/2008/05/21/debugdiag-1-1-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps.aspx)在发生此问题时从IIS内存中获取转储。

使用转储,您可以对其进行分析(Windbg)并进入抛出此异常的位置。

另请查看此Getting IIS Worker Process Crash dumps

干杯