ServerApplicationUnavailable

Thewebapplicationyouareattemptingtoaccessonthiswebserveriscurrentlyunavailable.Pleasehitthe"Refresh"buttoninyourwebbrowsertoretryyourrequest.

AdministratorNote:Anerrormessagedetailingthecauseofthisspecificrequestfailurecanbefoundintheapplicationeventlogofthewebserver.Pleasereviewthislogentrytodiscoverwhatcausedthiserrortooccur.

===============================================================================

发生原因是:

IIS默认的应用程序隔离机制被称为:“工作进程隔离模式”,在此模式中,应用程序被分为多个组,每个组就是一个“应用程序池”,每个应用程序池之间是相互隔离的。隔离的好处当然就是安全啦,稳定啦,等等。IIS中的每个应用程序池由一个“工作进程”分别进行管理,也就是"W3wp.exe"。如果有多个应用程序池中的程序运行,我们就能看到多个w3wp.exe。我们平时新建的虚拟目录都默认被指向IIS6的“DefaultAppPool"中,所以在默认情况下,不管你有多少个asp.net程序在运行,在“Windows任务管理器”中你只能看到一个w3wp.exe进程。

.netFramework2.0的程序与.netFramework1.1(或1.0)的程序被放入同一个应用程序池(默认情况下放入DefaultAppPool池),也就是由同一个工作进程:w3wp.exe进行管理,而单个工作进程是无法同时管理不同的程序(或者不同版本的程序)的.如果先访问.netframework1.1的页面,则工作进程先加载并管理了1.1版本的程序集,此时访问.netframework2.0的web程序页面,Serverapplicationunavailable错误就出来了.反之,如果在默认应用程序池的w3wp.exe尚未启动前先访问了2.0的web程序(此时应用程序集已经加载了.netframework2.0的Web程序集),再访问1.1或1.0的Web程序页面时,同样会出现"服务器应用程序不可用"

--------------------------------------------------------------------------------------------------------------------------------------------

解决办法:

(1)首先进入cmd,切换目录到%SystemRoot%\Microsoft.Net\framework\(%SystemRoot%是你Windows的安装目

录,一般就是C:\Windows)
(2)输入命令“netstopw3svc”,先停止w3svc服务;
(3)输入命令,切换到下层目录一般是cdv2.0.5*;
(4)执行“aspnet_regiis.exe-ua”解除.Net安装;
(5)重新安装.Net到IIS中“aspnet_regiis.exe-i”
(6)重新启动w3svc即输入:netstartw3svc