谈.NET 3.5 SP1 X64与HTTP Error 503_.Net教程
推荐:解读VB.NET中有用的通用对象列表要使用List(of T),我们需要了解如何部署.NET框架所提供的多种方法。这也将是本文要介绍的内容。我已经编写好了三个示例
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.
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奋战的日子里,非常感谢鞠强的帮助!
分享:解读ASP.NET如何实现静态的TreeView控件导航ASP.NET提供了一系列拥有页面导航功能的控件,这些控件包括在页面显示菜单的Menu控件、提供站点导航的Site MapPath控件和显示层次结构的树形(TreeView)控件。本章的示例将介绍这些控件在创建Web应用程序中的应用。 实现静态的TreeView控件导航 TreeView控件
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-谈.NET 3.5 SP1 X64与HTTP Error 503。