当前位置: 代码迷 >> ASP.NET >> 为什么会出现这样的异常
  详细解决方案

为什么会出现这样的异常

热度:8840   发布时间:2013-02-25 00:00:00.0
为什么会出现这样的错误?
我装的系统是windows 2003 server版的,asp.net2.0+sql server 2005
============================================
http://www.caiuu.com/default.aspx
=================================================
服务器应用程序不可用 
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 

管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。
==============================
这是我本地的服务器(就是我的机子),为什么会出现这样的错误?请问应该怎么解决?

------解决方案--------------------------------------------------------
服务器应用程序不可用解决方案集
问题描述:

在使用VS2003和2005的时候,按F5(启动)进行调试时,出现如下错误提示:

您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 

管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。 
并且在刚进入VS的时候也有服务器错误提示。

辗转在网上找了许多资料,终于把问题解决了!

但是由于这些错误虽然现象一致,但原因可能不尽相同,所以我把最常用的一些处理方案罗列出来,共大家参考,希望对大家有所帮助(当然,这些问题不是孤立存在的,有些方案可能会同时使用到):



方案一:

解析aspx的工作是由进程aspnet_wp.exe完成的,如果你查看了系统日志,就会发现无法启动aspnet_wp.exe,你可能需要做下面的两件事:
1〉如果aspnet_wp.exe没有在iis中注册,则需要运行系统目录下(如C:\WINNT\Microsoft.NET\Framework\v1.0.3705)的aspnet_regiis.exe注册;
2〉如果启动该进程的时候权限不够,可以修改config(如C:\WINNT\Microsoft.NET\Framework\v1.0.3705\CONFIG)目录下的machine.config的processModel,用SYSTEM这个用户名。这样可能不安全,但是如果开发的话关系不大。

方案二:

这是调用程序aspnet_wp.exe时发生的错误.引起错误的原因是这个户头没有足够特权使用这个程序,例如用户名字错,密码错,或系统管理员没给你设有调用权,或.NET Framework 及ACL安装不正确,或相应的文件夹没给你设有进入权. 

要请系统管理员检查一下asp.net的安装和权限设置. 
如果你自己是系统管理员,那就自己检查安装和权限设置. 

方案三:
这是调用程序aspnet_wp.exe时发生的错误.引起错误的原因是这个户头没有足够特权使用这个程序,例如用户名字错,密码错,或系统管理员没给你设有调用权,或.NET Framework 及ACL安装不正确,或相应的文件夹没给你设有进入权. 

要请系统管理员检查一下asp.net的安装和权限设置. 
如果你自己是系统管理员,那就自己检查安装和权限设置. 方案三: 题现象: 
1)当想浏览某个页面的时,会显示"服务器应用程序不可用" 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 管理员注意事项:详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。 
到日志去一查,发现:“aspnet_wp.exe? (PID: 356)意外停止。” 

尝试: 
想了想,问题是突然出现的,其间没有安装什么软件,也没有中病毒,奇怪了。 
若根据"ExecutionEngineException"在google上查来的结果是“无药可救”,做好“最坏打算”,重装!。:) 
根据“aspnet_wp.exe? (PID: 356)意外停止”在google上查了查,发现网上的解决方法也无非是重新装IIS,重新装系统,重新装framework或者vs.net。 
既然这样,先选择最简单的IIS重装,发现问题依旧。 
接下来选择修复安装win2003,安装结束后,发现问题解决了。 
大家都知道修复安装后的操作系统,补丁都会没有了。我就在一个个把补丁update,全部update好了以后,再运行,问题又出现。 

原因定位: 
显而易见,问题的原因就是补丁。不断的尝试,定位到Microsoft .NET Framework 版本 1.1 Service Pack 1 安全更新程序 (KB886903)把它删除后,问题解决。郁闷啊!花了我一整天时间,强烈要求微软“赔偿”。再网上一查,发现老外也遇到过同样这个问题http://www.mcse.ms/message1412685,也同样待解决。 

我目前,就删除这个补丁,将就的用。写这篇文章,希望别人如果也遇到这样的问题,少走些弯路。另外,期盼各位朋友指点个好解决办法。 

当然,本人在出现问题的时候,并没有安装Microsoft .NET Framework 版本 1.1 Service Pack 1 及其安全更新程序 (KB886903),所以我干脆把Microsoft .NET Framework 版本 1.1 Service Pack 1 及其安全更新程序 (KB886903)装上去,然后再把更新KB886903卸载掉,问题就解决了!——TNT2

方案四(强烈推荐,这也是我觉得最受用的一段话):

如果是"开始执行(不调试)",就在浏览器里显示:服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。查过日志,显示是:aspnet_wp.exe (PID: 1576)意外停止。实在无懒,郁闷的很,看过msdn的帮助,也在网上找了些资料,添加修改过用户,修改过machine.config里的相应配置,如标签的userName,password,标签debug等,未果,没办法,最后一个杀手锏,csdn上不是有很多牛人吗,开帖求助(http://community.csdn.net/Expert ... 吹揭桓鲵ramework1.1 SP1 安全更新程序会引起这个现象,我又好像没有装这个(但又不能确定自己倒底是装了还是没装,因为以前用windows update更新过一些包),应该不会是这个原因吧,在"添加/删除程序"里也没有找到安装过Framework sp1的痕迹,后来想想既然不能确定是不是装了,那不如先装个,然后卸载,反正是没戏了,死马当活马医,在microsoft的网站上也找了些资料,可以确定我的机子没有装Framework SP1(http://support.microsoft.com/kb/ ..

上面的问题解决了,又冒出来一个新问题,真的是一波刚平,一波又起,在vs2003里不能调试,用菜单里的:调试----启动 就出错:试图运行项目时出错: 无法在 Web 服务器上启动调试。灾难性故障,如果不调试:调试----开始执行(不调试) 没问题,现象正常,可以在IE里浏览,虽然将就着可以用,但想到这东西就是不顺眼,还是要想办法解决掉才能安心睡觉呀,问了同事,他说他们一般用"开始执行(不调试)",在他们的机子上我也试了,也存在这个现象。看了MSDN帮助,看得我都糊了。最后试了下,把项目属性里"调试"--"启用asp.net调试"的值由true设为false,这样行是行,去掉了那个弹出的"无法在Web服务器上启动调试"的窗口,但这样做跟那个"开始执行(不调试)"不是一样的效果吗,换汤不换药,最后把我添加的用户及aspnet用户加到Debugger Users组,重启了次电脑,新建项目,ok,问题就这样解决了,想不到天空是如此的蓝!
  相关解决方案