米葫芦网

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

热度:7℃ 发布时间:2023-11-16 20:07:27

前几天老大说要把服务器213在服务器223上镜象一个, 于是昨天我就把213上IIS的程序都拷贝到223上, 创建好虚拟目录然后运行程序, 结果出现了:
服务器应用程序不可用
您试图在此 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.NETFrameworks2.0.xxxx ;
; ;
; 如果以上两条都对,很不幸,你遇到了一个很奇怪的问题,我上次是把应用程序池的用户身份改成本地系统来运行的。

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

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

网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载