当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > HTTP Error 503与.NET 3.5 SP1 X64

ASP.NET
调用另外一个同名的重载函数漏掉括号出现的严重问题
DataGrid模板列应用:在DataGrid中用CheckBox控制TextBox的Enabled属性
使用存储过程的一个小例子
.net中xmlhttp下载文件的方法参考
简单的c#文本文件读写
我的C#学习过程 第一天 安装
在数据库中开始一个事务。
用ASP.NETt实现简单的文字水印
C/S系统中三层结构(Com/Com+)的测试成功实现
VB 二进制块读写类模块应用实例,包括一个文件拷贝和一个文件二进制比较的例子。
扫雷程序“布雷”代码(vb)
关于网络连接状态的编程
c#中ref和out参数使用时需要注意的问题
use Assembly to call a method
在VBA中调用AUTOCAD打印文件
在VS.NET的
昨天折腾了一晚上,哪位高手帮我看看!急!
Net是未来的趋势吗?
如何修改自定义Webpart 的标题(downmoon)
[收藏]ASP.Net生成静态HTML页 选择自 coofucoo 的 Blog

ASP.NET 中的 HTTP Error 503与.NET 3.5 SP1 X64


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 154 ::
收藏到网摘: n/a

2009年4月的日子里,每天总有那么几次,早上、中午或者夜里都可能出现它的身影,不知它给园子里多少朋友带来了麻烦!,它就是:

HTTP Error 503. The service is unavailable

伴随着503,事件日志会记录下列信息:

1)Event ID 1023: .NET Runtime version 2.0.50727.4013 - Fatal Execution Engine Error (000007FEF94BA5C6) (80131506)

2)Event ID 1000: Faulting application w3wp.exe, version 7.0.6001.18000, time stamp 0x47919ed8, faulting module mscorwks.dll, version 2.0.50727.4013, time stamp 0x498d1a0f, exception code 0xc0000005, fault offset 0x00000000002ce6f0, process id 0x%9, application start time 0x%10.

3)Event ID 5010: A process serving application pool 'cnblogs' failed to respond to a ping. The process id was '10576'

也就是.NET应用程序发生了Crash,开始我们把这个问题归罪于应用程序本身,走了不少弯路。

而最终发现这个问题的最大嫌疑人竟然是:.NET Framework 3.5 SP1(X64)。

当我们把应用程序池切换到32位模式,503就不再出现。

从事件日志看,问题是在安装.NET Framework 3.5 SP1后出现的。

在博客程序出现503的期间,社区程序(http://space.cnblogs.com/)在事件日志中也有同样的错误,只不过不是表现为HTTP Error 503,而是浏览器一直处于连接状态,服务器无响应。当切换到32位模式,问题也不再出现。

所以我们推断:64位.NET Framework 3.5 SP1可能存在Bug,在特定的情况下会让应用程序崩溃。

本想找出这些特定情况,通过Debug Diagnostic Tool v1.1 在503时生成Userdump,可是Debug Diagnostic Tool v1.1只有x86版本,x64版本的微软有,但还没有对外发布。

用adplus去抓Userdump,简直是大海捞针,只要发生线路中止,就会生成Userdump,比如调用了Response.End()。

还记得Windows Server 2003(IIS 6)+ ASP.NET 2.0 X64的奇怪问题。现在又是X64的问题,看来X64还不是我们想像的那么成熟。

不管怎么样,总算可以通过回到32位模式解决问题。

面对这样的问题,我们只能等待微软发现并解决这个问题!希望不要等太久。

在与503奋战的日子里,非常感谢鞠强的帮助!