您试图在此 Web 服务器上访问的 Web 应用程序当前不可用:ASP.NET程序在IIS下出错

您试图在此 Web 服务器上访问的 Web 应用程序当前不可用 ASP.NET程序在IIS下出错解决方案
XP系统中,IIS下运行ASP.NET程序,出现如下错误提示:

服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。
管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。

查看系统日志,发现日子错误信息有两条:

aspnet_wp.exe (PID: 2992)意外停止。

由于无法创建应用程序域,因此未能执行请求。错误: 0x80070003 系统找不到指定的路径。

原因:ASP.NET和IIS安装顺序问题引起
因为我们安装的顺序一般都是先安装了.net然后在安装的IIS,这就造成了
asp.net 在 IIS 中未正常注册,IIs不承认.net里面的,这就简单了,只要重新注册一下就可以了。

解决办法:
在 Microsoft .NET Framework SDK v2.0 的命令提示中重新注册 IIS,命令:aspnet_regiis -r,然后重启下网站就可以了。问题都解决了出现期待已久的Default.aspx页面了。

具体操作:
1、启动windows命令行,即运行[cmd],回车。
2、在命令行窗口中,点右键,粘帖下面的文字:
cd C:WINDOWSMicrosoft.NETFrameworkv2.0.50727
3、回车,进入.net的安装目录
先卸载.net,执行命令: aspnet_regiis.exe -u
然后重新安装.net,执行命令: aspnet_regiis.exe -i
然后重启一下服务器即可

当然也可以这样来做:
在.net下 Microsoft visual 2005->visual studio tools->visual studio 2005命令提示下输入
aspnet_regiis -r
然后回车,即可重新注册.NET组件

根据网上他人描述,该问题大致有三种解决思路,下面列出仅供参考:
1.重新开一个应用程序池,然后为这个目录单独指定这个池
2.访问权限的设置问题
3.重新装iis,再装framework

网上提供的解决方案汇总一下,有以下几种:

1:
.NET 2.0 和1.1 共用时,出现”服务器应用程序不可用”的错误.
其实是进程池调用冲突的问题,如果访问的两个应用程序,分别是2.0 和1.1, 而且他们共用一个进程池,
IIS 无法同时将其解析2种版本,就会出现如上的错误.
解决办法:
修改其中之一的进程池, 如把 2.0的应用程序的进程池改为 ASP.NET 2.0 . 即可。

2:重新注册.net, NETFrameworkv2.0.50727里的aspnet_regiis.exe 运行它,重新注册一下.net
aspnet_regiis.exe -u 先卸载 aspnet_regiis.exe -i 重新安装 有时候重启一下服务器就好了。

3:安装2.0之后,在IIS的虚拟目录的属性设置中会多出一个ASP.NET标签,在那里边把运行时调整为2.0,默认使用的是1.1的运行时。

4:这个是权限问题
首先检查应用程序池的属性,看看它是以什么用户身份运行的,一般是NETWORK SERVICE,然后确保这个用户对.NET Framework
2.0的目录有访问权限,事实上应该是有的。目录是systemroot:WindowsMicrosoft.NETFrameworks
2.0.xxxx
其实权限问题是最常见的。较多不是你的IIS设置问题,而是你的磁盘权限设置问题。把你的.net网站目录赋予 NETWORK SERVICE这个用户读取权限试试。如果不行,就先给最大权限Everyone完全控制,看它到底正不正常。如果最大权限都给了还是不行。那一定不是磁
盘权限设置问题了。注意一点,有的.net网站程序要求对上级目录有访问权!

出于安全考虑,我们总希望网站分配的权限最小化。既能稳定可靠地跑程序,又能取得最大程度的安全。最后,奉劝那些半专业的服务器管理员,要善用系统工具,比如经常用事件查看器分析日志。它往往是你找到原因的最佳帮手。绝对不要碰到搞不定的问题就重启服务器,不要把希望寄托在这个上面。多到网上看,学,然后自己分析问题有哪些可能。然后在不影响系统安全的情况下一点一点的去尝试,这样才能长进你的本事。

点赞 (0)

发表评论

电子邮件地址不会被公开。 必填项已用*标注