专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Web Service

IIS中运行ASPX时服务器应用程序不可用!解决方法

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
IIS中运行ASPX时服务器应用程序不可用!急急急!!!
服务器应用程序不可用 
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 

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

------解决方案--------------------
解决的方法是在命令行窗口(开始--运行--cmd)中输入“C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i”。这样问题就解决了。这样,在IIS中就注册完成了。 
或者点开始--程序--Microsoft Visual Studio .net 2005--Visual Studio Tools--Visual Studio 命令提示行 
在里面写aspnet_regiis.exe -i
------解决方案--------------------
http://www.bulog.cn/user1/20/165418.shtml
原因
如果尝试通过 WindowsServer2003CD 在 Windows Server 2003 Service Pack 2 (SP 2) 集成执行就地升级作为现有 Windows Server 2003 安装后运行 ASP.NET 2.0 应用程序发生此问题。

当您执行就地升级, 升级过程复位权限和其他文件夹由 ASP.NET 使用 Microsoft Internet Information Services (IIS) 元数据库上。 因此, 自定义服务帐户将没有权限访问这些文件夹, 收到 " 症状 " 部分中所述错误信息。

注意 一个就地升级类型又称为 " 修复安装 "。
错误: 0x80070005 拒绝访问

服务器应用程序不可用
您试图在此 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的运行时。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: