[ASP.net]Server Application Unavailable

今天在編譯時遇到這個問題了!^o^

服務器錯誤:

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 system event log of the web server. Please review this log entry to discover what caused this error to occur.

 一般碰到這樣的問題可以用下面的方法解決:
================================================

這篇文章中的信息適用於:
Microsoft ASP.NET(隨 .NET 框架一起提供)
Microsoft Internet 信息服務 5.0
Microsoft Mobile Internet Toolkit (MMIT)

本文的發佈號曾爲 CHS315158 
症狀
在域控制器或備份域控制器上安裝 Microsoft Visual Studio .NET 或 Microsoft .NET 框架後,如果您嘗試運行 ASP.NET 應用程序,則瀏覽器會顯示下面的錯誤信息:

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.
此外,系統應用程序事件日誌中會記錄以下事件:

aspnet_wp.exe could not be launched because the username and/or password supplied in the processModel section of the config file are invalid.
aspnet_wp.exe could not be started.
HRESULT for the failure:80004005 
此問題涉及 Internet 信息服務 (IIS) 5.0 版或更高版本。 
原因
默認情況下,爲了提供更安全的環境,ASP.NET 用弱帳戶(名爲 ASPNET 的本地計算機帳戶)運行它的輔助進程。域控制器或備份域控制器上的所有用戶帳戶都是域帳戶,不是本地計算機帳戶。因此,Aspnet_wp.exe 由於找不到名爲"localmachinename/ASPNET"的本地帳戶而未能啓動。要在域控制器上提供有效的用戶帳戶,必須在 Machine.config 文件的 <processModel> 部分指定顯式帳戶,或者必須使用 SYSTEM 帳戶。

備註:如果在嘗試瀏覽頁面之前嘗試進行調試(單擊啓動按鈕),則會出現完全相同的問題。 
解決方案
若要解決此問題,請使用下列方法之一:
創建具有正確權限的弱帳戶,然後配置 Machine.config 文件的 <processModel> 部分使用該帳戶。
在 Machine.config 文件的 <processModel> 部分,將 userName 屬性設爲 SYSTEM。
配置 Machine.config 文件的 <processModel> 部分使用管理員帳戶。 
備註:如果允許 ASP.NET 應用程序作爲 SYSTEM 或管理員帳戶運行,將帶來嚴重的安全問題。如果使用其中的任一種變通解決辦法,在 Aspnet_wp.exe 進程中運行的代碼將能夠訪問域控制器和域設置。從 Aspnet_wp.exe 進程啓動的可執行文件在相同的上下文中運行,它們也能夠訪問域控制器。

因此,Microsoft 建議使用第一種變通解決辦法。要使用第一種變通解決辦法,請執行以下步驟:
在計算機上創建名爲 ASPUSER 的用戶帳戶,然後將此帳戶添加到"用戶組"中。

備註:如果更改了 .NET 框架創建的 ASPNET 帳戶的密碼,也可以使用該帳戶。您必須知道此帳戶的密碼,因爲需要在後面的步驟中將該密碼添加到 <processModel> 部分。
向 ASPUSER 或 ASPNET 帳戶授予"作爲批處理作業登錄"的用戶權限。確保此更改在"本地安全策略"設置中顯示。

備註:要向此帳戶授予"作爲批處理作業登錄"的用戶權限,必須在以下每一個安全策略中授權此用戶權限(從"控制面板"/"管理工具"開始操作):


域控制器安全策略
域安全策略
本地安全策略

備註:您必須重新啓動服務器,以使這些更改生效。
確保 ASPUSER 或 ASPNET 帳戶具有的權限能夠訪問啓動 Aspnet_wp.exe 進程和爲 ASP.NET 頁提供服務所必需的全部目錄和文件。有關必須向此帳戶授予哪些權限的其他信息,請單擊下面的文章編號,查看 Microsoft 知識庫中的文章: 
317012 INFO:ASP.NET 中的進程和請求標識

打開 Machine.config 文件。該文件的路徑是:%Systemroot%/Microsoft.NET/Framework/v1.0.3705/CONFIG.
在 Machine.config 文件的 <processModel> 部分,將 userName 和 password 屬性更改爲第 1 步創建的帳戶的名稱和密碼。例如: userName="DomainName/ASPUSER" password="ASPUSERpassword"
保存對 Machine.config 文件所做的更改。 
狀態
Microsoft 已經確認這是在本文開頭列出的 Microsoft 產品中存在的錯誤。 
參考
有關 ASP.NET 安全性的其他信息,請單擊下面的文章編號,查看 Microsoft 知識庫中的文章: 
306590 INFO:ASP.NET 安全性概述

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

^o^
記得把網站文件夾設置好安全屬性。System賬號爲完全控制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章