IIS提示由於無法建立應用程式定義域,因此未能執行請求解決方案

來源:互聯網
上載者:User
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錯誤記錄檔檔案, 事件檢視器 ... 呵呵...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.