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

服务器应用程序不可用 
您试图在此 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, NETFrameworkv2.
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:WindowsMicrosoft.NETFrameworks 2.0 .xxxx   
    
  如果以上两条都对,很不幸,你遇到了一个很奇怪的问题,我上次是把应用程序池的用户身份改成本地系统来运行的。

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

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IIS应用程序池回收是指IIS(Internet Information Services)在一定条件下自动终止和重新启动应用程序池的过程。 应用程序池是IIS中一个独立的进程,在运行网站时负责处理HTTP请求,并将静态或动态内容返回给客户端。由于长时间运行或资源占用过多,应用程序池可能出现问题,导致网站响应缓慢甚至崩溃。 为了确保网站的性能和稳定性,IIS提供了应用程序池回收功能。当满足以下条件之一时,IIS会自动回收应用程序池: 1. 配置更改:修改了应用程序池的相关设置,例如CPU占用限制、内存限制等。 2. 定时回收:设定了应用程序池的闲置时间或过期时间,超过指定时间没有请求访问应用程序池时,IIS会自动回收它。 3. 内存限制:当应用程序池使用的物理内存超过了设定的限制时,IIS会回收应用程序池。 4. CPU限制:当应用程序池的CPU使用率超过限制值时,IIS会回收应用程序池。 5. 请求失败:当应用程序池连续多次失败或崩溃时,IIS会回收它。 在回收过程中,IIS会终止应用程序池中的运行中的进程,并且清除内存中的所有对象。然后,IIS会重新启动应用程序池,以确保网站继续正常运行。 应用程序池回收是IIS中一个关键的功能,它可以提高网站的性能和稳定性。但是,频繁的回收可能会导致一定的延迟,因此需要根据实际情况进行合理的配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值