服务器应用程序不可用解决方案
网站一直正常,今天突然报错。
原错误信息:
服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。
管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。
我的解决过程:
1.在网上查找【服务器应用程序不可用解决方案】,使用了aspnet_regiis.exe -i
ASP.NET (2.0.50727)安装完毕。
安装程序检测到操作过程中出现了一些错误。有关详细信息,请查看安装程序日志文件 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\ASPNETSetup_00002.log
2. 打开ASPNETSetup_00002.log 卡看到如下错误提示信息
-14 11:39:57Failure Waiting for service to shut down: WaitForServiceState failed with HRESULT 8007041d: '服务没有及时响应启动或控制请求。
'2014-03-14 11:39:57Failure Stopping service: StopSingleService failed with HRESULT 8007041d: '服务没有及时响应启动或控制请求。
'2014-03-14 11:39:57Failure Stopping W3SVC: StopService failed with HRESULT 8007041d: '服务没有及时响应启动或控制请求。
'2014-03-14 11:39:57Failure Restarting W3SVC: RestartW3svc failed with HRESULT 8007041d: '服务没有及时响应启动或控制请求。
'2014-03-14 11:39:57StartingAdding protocols section to machine.config
3. 在百度搜索【服务没有及时响应启动或控制请求】 得到结果是【World Wide Web Publishing Service】服务,没有正常启动。
把【World Wide Web Publishing Service】服务启动一下就OK了。
服务器应用程序不可用解决方案(以下为网上的方案)
我们应该从第一种情况开始排查:
1.首先进入cmd,切换目录到 %SystemRoot%\Microsoft.Net\Framework\(%SystemRoot% 是你 Windows 的安装目录,一般就是 C:\Windows)
2.输入命令 “net stop w3svc”,先停止 w3svc 服务;
3.输入命令,切换到下层目录 一般是cd v2.0.5*;
4.执行 “aspnet_regiis.exe -ua” 解除 .Net 安装;
5.重新安装 .Net 到 IIS 中 “aspnet_regiis.exe -i”
6.重新启动 w3svc 即输入:net start w3svc
如果按照以上的要领 还不能解决问题,请你找到你的.net站点 的目录,把运行.net程序的用户(一般是Network Service)的“完全控制”权限加进去,应该就没问题了。
在使用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.html,也同样待解决。
我目前,就删除这个补丁,将就的用。写这篇文章,希望别人如果也遇到这样的问题,少走些弯路。另外,期盼各位朋友指点个好解决办法。
当然,本人在出现问题的时候,并没有安装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,问题就这样解决了,想不到天空是如此的蓝!