ASP.NET "Server Application Unavailable"错误解决
2007-09-07 10:11
489 查看
ASP.NET "Server Application Unavailable"错误解决
Server Application Unavailable The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request. Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur. 之后向我求助,经过仔细阅读了IIS帮助文档,才发现,原来这个错误是由 IIS6 应用程序隔离机制造成的。IIS默认的应用程序隔离机制被称为:“工作进程隔离模式”,在此模式中,应用程序被分为多个组,每个组就是一个“应用程序池” ,每个应用程序池之间是相互隔离的。隔离的好处当然就是安全啦,稳定啦,等等。IIS中的每个应用程序池由一个“工作进程”分别进行管理,也就是"W3wp.exe" 。如果有多个应用程序池中的程序运行,我们就能看到多个w3wp.exe。我们平时新建的虚拟目录都默认被指向IIS6的“DefaultAppPool" 中,所以在默认情况下,不管你有多少个asp.net程序在运行,在“Windows任务管理器”中你只能看到一个w3wp.exe进程。 出现上述错误的原因是: .net Framework 2.0的程序与.net Framework1.1(或1.0)的程序被放入同一个应用程序池(默认情况下放入DefaultAppPool池),也就是由同一个工作进程: w3wp.exe 进行管理,而单个工作进程是无法同时管理不同的程序(或者不同版本的程序)的。如果先访问.net framework 1.1的页面,则工作进程先加载并管理了 1.1版本的程序集,此时访问.net framework 2.0的web程序页面,Server Application Unavailable 错误就出来了。 反之,如果在默认应用程序池的w3wp.exe尚未启动前先访问了 2.0的web程序(此时应用程序集已经加载了.net framework2.0的Web程序集),再访问1.1或1.0的Web程序页面时,同样会出现“服务器应用程序不可用” 这样的中文提示。(您可以结束掉以前的w3wp.exe进行测试。) 我朋友之所以在自己的开发机器上没出现此错误是因为他在开发基于.net framework 2.0的项目时,一直都只访问这个2.0的web程序,跟本未曾访问过其他web程序。而朋友的服务器上已经存在1.0 的项目,并且一直有人使用。这个错误在今天之前从未碰到过,其实大部分人在开发一个项目时,都只访问正在开发的项目。很有可能就忽略了这个问题,而到了发布的时候却出现错误,搞得手忙脚乱。 解决办法:在IIS中新建一个应用程序池,然后选中你的 基于.net framework2.0的虚拟目录,点“属性”-》在“应用程序池” 中选择刚才新建的的应用程序池,点击“确定”。 如果你的电脑主要是为了学习,开发,测试web程序,完全可以建一个类似于名为"dotnet2.0"的应用程序池,以后所有新建的2.0的虚拟目录都指向此应用程序池。 |
相关文章推荐
- ASP.NET "Server Application Unavailable"错误解决 (应用服务不可用)(转载)
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- ASP.NET 应用程序遭遇Server Application Unavailable问题的解决办法
- 虚拟主机常见问题:asp.net出现Server Application Unavailable解决
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- ASP .NET错误信息:"/"应用程序中的服务器错误。列"uaddrgt"不属于表Table 的一个原因及解决办法
- ASP.NET "正在中止线程"错误原因及解决方法【转】
- 解决Windows server 2012 R2 系统使用IIS8浏览Asp程序出现"An error occurred on the server when processing the URL"错误
- asp.net ajax 错误:"sys"未定义问题 解决的方法
- 在 ASP.NET 中虚拟目录指向远程共享时发生"System.Security.SecurityException: 安全性错误"的解决办法
- "ASP.NET Development Server无法开始侦听端口:XXXX"问题的解决方法
- [ASP.NET] - 提示错误:The server has encountered an error while loading an application during the processing your request
- 在Asp.net中建立Microsoft.Office.Interop.Word.Application时出现“拒绝访问”错误的解决方法
- asp.net"必须声明变量@XX错误"的解决办法
- Asp.net中"正在中止线程"错误解决方法
- .NET浏览ASP.NET页面时出现This application is currently offline. To enable the application, remove...错误的解决办法
- 创建ASP.NET程序时候发生错误"HTTP/1.0 500 Server Error"的一个解决办法
- asp.net关于控件运行返回错误:必须放在具有 runat=server 的窗体标记内,解决办法。
- server application unavailable IIS应用程序池 错误解决办法
- 创建ASP.NET程序时候发生错误"HTTP/1.0500ServerError"的一个解决办法