服務器應用程序不可用解決方案集:
問題描述:
在使用VS2003和2005的時候,按F5(啟動)進行調試時,出現如下錯誤提示:
1
並且在剛進入VS的時候也有服務器錯誤提示。
輾轉在網上找了許多資料,終於把問題解決了!
但是由於這些錯誤雖然現象一致,但原因可能不盡相同,所以我把最常用的一些處理方案羅列出來,共大家參考,希望對大家有所幫助(當然,這些問題不是孤立存在的,有些方案可能會同時使用到):
方案一:
解析aspx的工作是由進程aspnet_wp.exe完成的,如果你查看了系統日志,就會發現無法啟動aspnet_wp.exe,你可能需要做下面的兩件事:
1〉如果aspnet_wp.exe沒有在iis中注冊,則需要運行系統目錄下(如C:/WINNT/Microsoft.NET/Framework/v1.0.3705)的aspnet_regiis.exe注冊;
2〉如果啟動該進程的時候權限不夠,可以修改config(如C:/WINNT/Microsoft.NET/Framework /v1.0.3705/CONFIG)目錄下的machine.config的processModel,用SYSTEM這個用戶名。這樣可能不安全,但是如果開發的話關系不大。
方案二:
這是調用程序aspnet_wp.exe時發生的錯誤.引起錯誤的原因是這個戶頭沒有足夠特權使用這個程序,例如用戶名字錯,密碼錯,或系統管理員沒給你設有調用權,或.NET Framework 及ACL安裝不正確,或相應的文件夾沒給你設有進入權.
要請系統管理員檢查一下asp.net的安裝和權限設置.
如果你自己是系統管理員,那就自己檢查安裝和權限設置.
方案三:
這是調用程序aspnet_wp.exe時發生的錯誤.引起錯誤的原因是這個戶頭沒有足夠特權使用這個程序,例如用戶名字錯,密碼錯,或系統管理員沒給你設有調用權,或.NET Framework 及ACL安裝不正確,或相應的文件夾沒給你設有進入權.
要請系統管理員檢查一下asp.net的安裝和權限設置.
如果你自己是系統管理員,那就自己檢查安裝和權限設置. 方案三: 題現象:
1)當想浏覽某個頁面的時,會顯示"服務器應用程序不可用" 您試圖在此 Web 服務器上訪問的 Web 應用程序當前不可用。請點擊 Web 浏覽器中的“刷新”按鈕重試您的請求。 管理員注意事項:詳述此特定請求失敗原因的錯誤信息可在 Web 服務器的系統事件日志中找到。
到日志去一查,發現:“aspnet_wp.exe? (PID: 356)意外停止。”
嘗試:
想了想,問題是突然出現的,其間沒有安裝什麼軟件,也沒有中病毒,奇怪了。
若根據"ExecutionEngineException"在google上查來的結果是“無藥可救”,做好“最壞打算”,重裝!。:)
根據“aspnet_wp.exe? (PID: 356)意外停止”在google上查了查,發現網上的解決方法也無非是重新裝IIS,重新裝系統,重新裝framework或者vs.net。
既然這樣,先選擇最簡單的IIS重裝,發現問題依舊。
接下來選擇修復安裝win2003,安裝結束後,發現問題解決了。
大家都知道修復安裝後的操作系統,補丁都會沒有了。我就在一個個把補丁update,全部update好了以後,再運行,問題又出現。
原因定位:
顯而易見,問題的原因就是補丁。不斷的嘗試,定位到Microsoft .NET Framework 版本 1.1 Service Pack 1 安全更新程序 (KB886903)把它刪除後,問題解決。郁悶啊!花了我一整天時間,強烈要求微軟“賠償”。再網上一查,發現老外也遇到過同樣這個問題 http://www.mcse.ms/message1412685.html,也同樣待解決。
我目前,就刪除這個補丁,將就的用。寫這篇文章,希望別人如果也遇到這樣的問題,少走些彎路。另外,期盼各位朋友指點個好解決辦法。
當然,本人在出現問題的時候,並沒有安裝Microsoft .NET Framework 版本 1.1 Service Pack 1 及其安全更新程序 (KB886903),所以我干脆把Microsoft .NET Framework 版本 1.1 Service Pack 1 及其安全更新程序 (KB886903)裝上去,然後再把更新KB886903卸載掉,問題就解決了!——TNT2
方案四 (強烈推薦,這也是我覺得最受用的一段話):
如果是"開始執行(不調試)",就在浏覽器裡顯示:服務器應用程序不可用
您試圖在此 Web 服務器上訪問的 Web 應用程序當前不可用。請點擊 Web 浏覽器中的“刷新”按鈕重試您的請求。 管理員注意事項: 詳述此特定請求失敗原因的錯誤信息可在 Web 服務器的系統事件日志中找到。請檢查此日志項以查明導致該錯誤發生的原因。查過日志,顯示是:aspnet_wp.exe (PID: 1576)意外停止。實在無懶,郁悶的很,看過msdn的幫助,也在網上找了些資料,添加修改過用戶,修改過machine.config裡的相應配置,如標簽的userName,password,標簽debug等,未果,沒辦法,最後一個殺手锏,csdn上不是有很多牛人嗎,開帖求助 (http://community.csdn.net/Expert ... 吹揭桓鯢ramework1.1 SP1 安全更新程序會引起這個現象,我又好像沒有裝這個(但又不能確定自己倒底是裝了還是沒裝,因為以前用windows update更新過一些包),應該不會是這個原因吧,在"添加/刪除程序"裡也沒有找到安裝過Framework sp1的痕跡,後來想想既然不能確定是不是裝了,那不如先裝個,然後卸載,反正是沒戲了,死馬當活馬醫,在microsoft的網站上也找了些資料,可以確定我的機子沒有裝Framework SP1(http://support.microsoft.com/kb/ ..
上面的問題解決了,又冒出來一個新問題,真的是一波剛平,一波又起,在vs2003裡不能調試,用菜單裡的:調試----啟動 就出錯:試圖運行項目時出錯: 無法在 Web 服務器上啟動調試。災難性故障,如果不調試:調試----開始執行(不調試) 沒問題,現象正常,可以在IE裡浏覽,雖然將就著可以用,但想到這東西就是不順眼,還是要想辦法解決掉才能安心睡覺呀,問了同事,他說他們一般用"開始執行(不調試)",在他們的機子上我也試了,也存在這個現象。看了MSDN幫助,看得我都糊了。最後試了下,把項目屬性裡"調試"--"啟用asp.net 調試"的值由true設為false,這樣行是行,去掉了那個彈出的"無法在Web服務器上啟動調試"的窗口,但這樣做跟那個"開始執行(不調試)"不是一樣的效果嗎,換湯不換藥,最後把我添加的用戶及aspnet用戶加到Debugger Users組,重啟了次電腦,新建項目,ok,問題就這樣解決了!