IIS5.1与6.0中Server Application Unavailable的解决方法

Server Application Unavailable,这个问题让一些没遇到过这个问题的朋友非常苦恼。本文可以准确方便地解答该问题出现在IIS5.1与IIS6.0中的原因以及解决方法。


在iis5.1中出现这个问题,是因为先装了.netframework后装的iis造成asp.net没有在iis里正确的注册。解决办法就是在windows2000,xp,2003系统下运行:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

或者

aspnet_regiis -r 

这也就是为何你安装好后IIS5.1后发现.net的运行环境已经存在了

附微软官方.net 1.1安装包.net 2.0 安装包

而这个问题在windows 2003的服务中,我曾经懊恼了一段时间,不过最终还是解决了。只要分配给不同的网站程序各自的程序池即可(最简单就是.net1.1程序一个池,.net2.0程序一个池),但是运维网站增加的话,各自分开更利于出现问题不会“殃及池鱼”。

摘录:.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进行测试。)

上一篇: Discuz! 6.0到Discuz! 7.1升级教程
下一篇: 解决nginx中FastCGI的502 Bad Gateway错误

发表评论