古詩詞大全網 - 漢語詞典 - Server Application Unavailable 怎麽解決

Server Application Unavailable 怎麽解決

服務器應用程序無法使用發布2.0web程序的過程如下1、在服務器上創建壹個目錄,然後將發布後的所有Web程序的文件復制到這個新建的目錄。2、在服務器的IIS上新建壹個虛擬目錄,然後將其配置成可以執行腳本的應用程序,(過程與創建.netFramework1.1版本的程序相同。)然後,將此虛擬目錄的.netFramework配置成2.0。大功告成後,開始訪問剛配置的程序,卻得到如下錯誤ServerApplicationUnavailableThewebapplicationyouareattemptingtoaccessonthiswebserveriscurrentlyunavailable.PleasehittheRefreshbuttoninyourwebbrowsertoretryyourrequest.AdministratorNoteAnerrormessagedetailingthecauseofthisspecificrequestfailurecanbefoundintheapplicationeventlogofthewebserver.Pleasereviewthislogentrytodiscoverwhatcausedthiserrortooccur.之後向我求助,經過仔細閱讀了IIS幫助文檔,才發現,原來這個錯誤是由IIS6應用程序隔離機制造成的。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程序頁面時,同樣會出現“服務器應用程序不可用”這樣的中文提示。(您可以結束掉以前的w3wp.exe進行測試。)我朋友之所以在自己的開發機器上沒出現此錯誤是因為他在開發基於.netframework2.0的項目時,壹直都只訪問這個2.0的web程序,跟本未曾訪問過其他web程序。而朋友的服務器上已經存在1.0的項目,並且壹直有人使用。這個錯誤在今天之前從未碰到過,其實大部分人在開發壹個項目時,都只訪問正在開發的項目。很有可能就忽略了這個問題,而到了發布的時候卻出現錯誤,搞得手忙腳亂。解決辦法在IIS中新建壹個應用程序池,然後選中妳的基於.netframework2.0的虛擬目錄,點“屬性”-》在“應用程序池”中選擇剛才新建的的應用程序池,點擊“確定”。如果妳的電腦主要是為了學習,開發,測試web程序,完全可以建壹個類似於名為dotnet2.0的應用程序池,以後所有新建的2.0的虛擬目錄都指向此應用程序池。

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

謝謝請采納:

不能發連接啊,請在百度 搜索‘珍惜知識網’點進去就是了[WTTH]