ASP.NET“由于无法创建应用程序域,因此未能执行请求”问题一步一步解决

转载 2007年10月02日 19:47:00
服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。

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

           我查看了IIS配置没出错,和213上的一样, 运行时是Framework 2.0, 扩展服务都开了.  于是google了"服务器应用程序不可用",网上提供的解决方案有以下几种:

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

解决办法:
修改其中之一的进程池, 如把 2.0的应用程序的进程池改为 ASP.NET 2.0 . 即可。

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

按照一下2个方法配置了下,然后运行程序,但是还是出现同样的错误,郁闷.
又继续查找, 有一些人提示你"查看事件查看器",于是我进了查看器查找,发现了如下2个错误提示:
1:由于无法创建应用程序域,因此未能执行请求。错误:   0x80070005   拒绝访问。
2:未能初始化   AppDomain:/LM/W3SVC/1635210705/Root   
    Exception:   System.IO.FileLoadException  
  Message:   未能加载文件或程序集“System.Web,   Version=2.0.0.0,   Culture=neutral,   PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。拒绝访问。  
  StackTrace:         在   System.Reflection.Assembly.nLoad(AssemblyName   fileName,   String   codeBase,   Evidence   assemblySecurity,   Assembly   locationHint,   StackCrawlMark&   stackMark,   Boolean   throwOnFileNotFound,   Boolean   forIntrospection)  
        在   System.Reflection.Assembly.InternalLoad(AssemblyName   assemblyRef,   Evidence   assemblySecurity,   StackCrawlMark&   stackMark,   Boolean   forIntrospection)  
        在   System.Reflection.Assembly.InternalLoad(String   assemblyString,   Evidence   assemblySecurity,   StackCrawlMark&   stackMark,   Boolean   forIntrospection)  
        在   System.Activator.CreateInstance(String   assemblyName,   String   typeName,   Boolean   ignoreCase,   BindingFlags   bindingAttr,   Binder   binder,   Object[]   args,   CultureInfo   culture,   Object[]   activationAttributes,   Evidence   securityInfo,   StackCrawlMark&   stackMark)  
        在   System.Activator.CreateInstance(String   assemblyName,   String   typeName)  
        在   System.AppDomain.CreateInstance(String   assemblyName,   String   typeName)  
        在   System.AppDomain.CreateInstance(String   assemblyName,   String   typeName)  
        在   System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String   appId,   IApplicationHost   appHost,   HostingEnvironmentParameters   hostingParameters)  
        在   System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String   appId,   IApplicationHost   appHost,   HostingEnvironmentParameters   hostingParameters)  

         于是又google了下"由于无法创建应用程序域,因此未能执行请求。错误:   0x80070005   拒绝访问。",查到了一下解决方案:
1:
安装2.0之后,在IIS的虚拟目录的属性设置中会多出一个ASP.NET标签,在那里边把运行时调整为2.0,默认使用的是1.1的运行时。  

2:
这个是权限问题,  
  首先检查应用程序池的属性,看看它是以什么用户身份运行的,一般是NETWORK   SERVICE   然后确保这个用户对.NET   Framework   2.0的目录有访问权限,事实上应该是有的。目录是systemroot:/Windows/Microsoft.NET/Frameworks /2.0.xxxx  
   
  如果以上两条都对,很不幸,你遇到了一个很奇怪的问题,我上次是把应用程序池的用户身份改成本地系统来运行的。

按照第二种解决方案配置:  把运行池的访问用户设置为"本地系统", 然后运行程序, 错误没在出现, 成功解决, 但是但在我选则"本地系统"时,IIS提示会有安全问题,本来有些担忧,但看了如下的回复后就没那么担忧了:
不用担心权限的问题,大所数系统都需要设置成本地系统才行,  
  最简单的例子:一个网络硬盘都需要设置为本地系统,更别说别的了。  
  不用头痛,你听说过因为设置为本地系统,而造成黑客侵入的吗?  
  中国有这个能力的人不多。要是遇到真正的黑客,你再怎么搞也是不安全不是。

从做天为这个问题搞到现在, 总算解决了,  虽然搞了一天,但学到了很多关于IIS的知识, 应用程序池, Framework运行时环境, IIS错误日志文件, 事件查看器 算起来还是值的呢,平时都懒没去搞他们, 碰到错误时才会去看...  呵呵... 

一步一步,从零开始开发asp.net

逐步的记录自己学习.net开发的过程
  • wzj0808
  • wzj0808
  • 2016年12月26日 09:17
  • 715

gdb 一步一步调试程序

例子: #include #include #include int main (int argc, char *argv[]) { time_t time_stamp; st...
  • duyiwuer2009
  • duyiwuer2009
  • 2015年01月23日 11:41
  • 1262

[转]一步一步asp.net_购物车订单与支付宝

本文转自:http://www.cnblogs.com/mysweet/archive/2012/05/19/2508534.html 最近这几天很忙,一边忙着准备一堆课程设计(8门专业课....
  • zhanglong_longlong
  • zhanglong_longlong
  • 2016年10月21日 09:50
  • 1987

一步一步学ROP之linux_x86篇

0x00    本文仅解释说明蒸米大神一步一步学ROP之linux_x86篇,读者应先阅读这篇文章,遇到问题再来看我这篇文章。    阅读完这两篇文章后,我们会理解ROP(返回导向编程),DEP(堆栈...
  • jltxgcy
  • jltxgcy
  • 2016年02月19日 11:16
  • 2376

一步一步打造自己的VIM

一开始用vim的时候发现各种配置很繁琐,就静不下心去看,后来直接用别人写的“史上最强的vim配置”,虽然挺好用的,但是毕竟不是自己的,用着挺不舒服的。现在(可能突然脑抽了)打算开始根据自己需要的东西,...
  • Jacketinsysu
  • Jacketinsysu
  • 2016年03月09日 12:36
  • 880

Redux学习笔记

随着JavaScript单页面应用开发的日趋复杂,JavaScript需要管理比之前任何时候都要多的State。State可以包括服务器返回的数据,本地缓存的数据,也可以是本地创建还没有发送给服务器的...
  • lihei12345
  • lihei12345
  • 2015年12月10日 23:46
  • 5854

一步一步跟我学hadoop(1)----hadoop概述和安装配置

这几年云计算大数据很火,借这个东风,今天开始学习apache的分布式计算框架hadoop,希望不要太落后。 Apache Hadoop是一个在大型集群的商品硬件上运行的应用程序的框架。Hadoop框架...
  • wuyinggui10000
  • wuyinggui10000
  • 2015年07月05日 23:08
  • 2278

一步一步构建你的iOS网络层 - HTTP篇

本文来自简书,原文地址:http://www.jianshu.com/p/f9b4ada163ab 缘起 经常跑步的人一定知道, 每次跑步时间过了15分钟以后, 脑子里通常就开始出现: 青...
  • qq_30513483
  • qq_30513483
  • 2017年02月17日 11:45
  • 418

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

“由于无法创建应用程序域,因此未能执行请求”是IIS中.net的常见错误。 服务器应用程序不可用  您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“...
  • pj386960300
  • pj386960300
  • 2013年10月21日 15:20
  • 947

shell脚本执行过程

一、先看一个简单的脚本执行过程 shell脚本中以#表示注释。但是如果#位于第一行并且后面是感叹号,它表示该脚本使用后面指定的解释器解释执行。#!/bin/bash叫做shebang,它...
  • LF_2016
  • LF_2016
  • 2017年03月24日 10:14
  • 1014
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET“由于无法创建应用程序域,因此未能执行请求”问题一步一步解决
举报原因:
原因补充:

(最多只允许输入30个字)