IE訪問網站出現:伺服器應用程式不可用
您試圖在此 Web 服務器上訪問的 Web 應用程式當前不可用。請點擊 網頁瀏覽器中的[重新整理] 按鈕重試您的請求。
管理員注意事項: 詳述此特定請求失敗原因的錯誤資訊可在 Web 服務器的系統事件日誌中找到。請檢查此日誌項以查明導致該錯誤發生的原因。的錯誤.
google了"伺服器應用程式不可用",網上提供的解決方案有以下幾種:
1:
.NET 2.0 和1.1 共用時,出現"伺服器應用程式不可用"的錯誤.
其實是進程池調用衝突的問題,如果訪問的兩個應用程式,分別是2.0 和1.1, 而且他們共用一個進程池,
IIS 無法同時將其解析2種版本,就會出現如上的錯誤.
解決辦法:
修改其中之一的進程池, 如把 2.0的應用程式的進程池改為 ASP.NET 2.0 . 即可。
2:
重新註冊IIS, NET\Framework\v2.0.50727裡的aspnet_regiis.exe 運行它,重新註冊一下.net aspnet_regiis.exe -u 先卸載 aspnet_regiis.exe -i 重新安裝 有時候重啟一下伺服器就好了。
按照一下2個方法配置了下,然後運行程式,但是還是出現同樣的錯誤,鬱悶.
又繼續尋找, 有一些人提示你"查看事件檢視器",於是我進了查看器尋找,發現了如下2個錯誤提示:
1:由於無法建立應用程式定義域,因此未能執行請求。錯誤: 0x80070005 拒絕訪問。
2:未能初始化
AppDomain:/LM/W3SVC/1635210705/Root Exception: System.IO.FileLoadException
Message: 未能負載檔案或程式集“System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一個依賴項。拒絕訪問。
StackTrace: 在 System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
在 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
在 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
在 System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
在 System.Activator.CreateInstance(String assemblyName, String typeName)
在 System.AppDomain.CreateInstance(String assemblyName, String typeName)
在 System.AppDomain.CreateInstance(String assemblyName, String typeName)
在 System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
在 System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
於是又google了下"由於無法建立應用程式定義域,因此未能執行請求。錯誤: 0x80070005 拒絕訪問。",查到了一下解決方案:
1:
安裝2.0之後,在IIS的虛擬目錄的屬性設定中會多出一個ASP.NET標籤,在那裡邊把運行時調整為2.0,預設使用的是1.1的運行時。
2:
這個是許可權問題,
首先檢查應用程式集區的屬性,看看它是以什麼使用者身份啟動並執行,一般是NETWORK SERVICE 然後確保這個使用者對.NET Framework 2.0的目錄有存取權限,事實上應該是有的。目錄是systemroot:\Windows\Microsoft.NET\Frameworks\2.0.xxxx
如果以上兩條都對,很不幸,你遇到了一個很奇怪的問題,我上次是把應用程式集區的使用者身份改成本地系統來啟動並執行。
按照第二種解決方案配置: 把運行池的訪問使用者佈建為"本地系統", 然後運行程式, 錯誤沒在出現, 成功解決, 不用擔心許可權的問題,大所數系統都需要設定成本地系統才行,
應用程式集區, Framework運行時環境, IIS錯誤記錄檔檔案, 事件檢視器 ... 呵呵...