服务器应用程序不可用
您试图在此 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提示会有安全问题,本来有些担忧,但看了如下的回复后就没那么担忧了:
不用担心权限的问题,大所数系统都需要设置成本地系统才行,
最简单的例子:一个网络硬盘都需要设置为本地系统,更别说别的了。
不用头痛,你听说过因为设置为本地系统,而造成黑客侵入的吗?
中国有这个能力的人不多。要是遇到真正的黑客,你再怎么搞也是不安全不是。
您试图在此 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提示会有安全问题,本来有些担忧,但看了如下的回复后就没那么担忧了:
不用担心权限的问题,大所数系统都需要设置成本地系统才行,
最简单的例子:一个网络硬盘都需要设置为本地系统,更别说别的了。
不用头痛,你听说过因为设置为本地系统,而造成黑客侵入的吗?
中国有这个能力的人不多。要是遇到真正的黑客,你再怎么搞也是不安全不是。