IIS中由于无法创建应用程序域,因此未能执行请求解决方案汇总

by @xjyzhenai on 2008-12-11 21:42:43

“由于无法创建应用程序域,因此未能执行请求”是IIS中.net的常见错误。

服务器应用程序不可用

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

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

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

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网站程序要求对上级目录有访问权!

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

Technorati 标签: 服务器,系统,安全,权限,IIS,.net