2013-03-05 84 views
4

我们的服务器正在运行Windows Server 2003.我们更新了IIS中的.Net版本的站点以使用4.0。在随机时间内,每改变一次,每周1-2次,就会触发快速失败,并以503错误取消站点。503 - 服务器不可用 - .Net 2.0和4.0冲突

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

上午01点27分二十一秒
.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 NIL。

上午01时27分11秒
.NET运行
应用:w3wp.exe的
Framework版本: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> 
+0

为什么'System.Security'和'System.Design'的2.0版本的参考? – 2013-03-05 15:21:04

+1

您是否了解导致堆栈溢出的原因 - 您是否能够隔离导致问题和重构的代码?我在想,也许一些资源限制已经从2变为4,无论发生什么事情都会达到较低的4.0限制。这是纯粹的猜想,但可能值得看看导致问题的代码并从那里向后工作? – bUKaneer 2013-03-05 15:50:57

+0

感谢您的回复。我不确定为什么使用system.design和system.security的2.0版本。关于4.0的下限,唯一能想到的就是我们的文件上传功能的maxrequest长度等项目,但这是在元数据库中,我不认为这与此有关。有没有另一个地方的.net的细节配置? – superfreaker 2013-03-05 20:51:44

回答

相关问题