503 - 服务器不可用 - .NET 2.0和4.0的冲突 [英] 503 - Server Unavailable - .Net 2.0 and 4.0 Conflict

查看:502
本文介绍了503 - 服务器不可用 - .NET 2.0和4.0的冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的服务器运行的是Windows Server 2003中,我们更新了.NET版本我们网站的IIS使用4.0。在随机时间,每周1-2次,因为进行了更改,将快速失败被触发,该网站撤下有503错误。

在应用程序日志显示一系列的一脚快速失败触发错误的。有组,每组两个失误高达10错误的快速失败触发的:

  

上午01点27分21秒
   .NET运行库4.0错误
  事件类型clr20r3,w3wp.exe的P1,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运行库
  应用:w3wp.exe的
  Framework版本:v4.0.30319
  说明:该进程被终止,由于堆栈溢出

请注意,4.0错误无名净误差到来后10秒。我相信,未指定的.NET版本的错误是对于上了年纪2.0框架我们已经从感动。

在IIS6,处理程序设置为使用4.0。我们在主站点的几个应用程序池为好。 Web.config文件所有这些指定4.0为使用该框架:

 <编译调试=假targetFramework =4.0>
<组件>
<添加组件=System.Design,版本= 2.0.0.0,文化=中性公钥= B03F5F7F11D50A3A/>
<添加组件=System.Security程序,版本= 2.0.0.0,文化=中性公钥= B03F5F7F11D50A3A/>
<! - <添加组件=System.Web.Routing,版本= 3.5.0.0,文化=中性公钥= 31BF3856AD364E35/>  - >
< /组件>
 

解决方案

您可以尝试,使用iisstate(的 http://www.iisfaq.com/?View=P197 )或IIS调试诊断(<一href="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" rel="nofollow">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).

通过转储,你可以分析它(的Windbg),并得到了这样的地步是抛出此异常。

另外一起来看看这获取IIS工作进程崩溃转储

干杯

Our server is running Windows Server 2003. We have updated the .Net version of our sites in IIS to use 4.0. At random times, 1-2 times per week since the change was made, the rapid-fail is triggered and the site is taken down with 503 Errors.

The Application Logs shows a series of Errors that kick the rapid-fail trigger. There are sets of two errors each, up to the rapid fail trigger of 10. The errors are:

1:27:21 AM
.NET Runtime 4.0 Error
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 AM
.NET Runtime
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to stack overflow.

Notice that the 4.0 error comes 10 seconds after the unnamed .Net error. I believe the unspecified .net version error is for the older 2.0 framework we have moved from.

In IIS6, the handlers are set to use 4.0. We have several application pools under the main site as well. web.config files for all of them specify 4.0 as the framework to use:

<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>

解决方案

You can try get the dump from the IIS memory in the time that this problem occurs using iisstate(http://www.iisfaq.com/?View=P197) or 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).

With the dump you can analyze it (Windbg) and get in the point where it is throwing this exception.

Also take a look at this Getting IIS Worker Process Crash dumps

Cheers

这篇关于503 - 服务器不可用 - .NET 2.0和4.0的冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆