程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> DirectoryEntry設置裝備擺設IIS7湧現ADSI Error:未知毛病(0x80005000)

DirectoryEntry設置裝備擺設IIS7湧現ADSI Error:未知毛病(0x80005000)

編輯:C#入門知識

DirectoryEntry設置裝備擺設IIS7湧現ADSI Error:未知毛病(0x80005000)。本站提示廣大學習愛好者:(DirectoryEntry設置裝備擺設IIS7湧現ADSI Error:未知毛病(0x80005000))文章只能為提供參考,不一定能成為您想要的結果。以下是DirectoryEntry設置裝備擺設IIS7湧現ADSI Error:未知毛病(0x80005000)正文


1、毛病情形

情況:win7+iis7.0

DirectoryEntry設置裝備擺設IIS7湧現以下毛病

或許是

上面一段代碼在IIS6.0下運轉正常,但IIS7.0下運轉會失足:

System.DirectoryServices.DirectoryEntry iisServer;
iisServer = new System.DirectoryServices.DirectoryEntry("IIS://localhost/W3SVC/1");
System.DirectoryServices.DirectoryEntry rootFolder = iisServer.Children.Find("Root","IIsWebVirtualDir");//此處拋出異常

異常內容以下:

[System.Runtime.InteropServices.COMException] {"Unknown error (0x80005000)"}
System.Runtime.InteropServices.COMException
Unknown error (0x80005000)
   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.get_IsContainer()
   at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
   at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)

2、毛病剖析

這段異常代碼注解 IIS://localhost/W3SVC/1 的ADSI provider不存在或許沒法拜訪。

翻開IIS治理器你可以看到辦事器的localhost(即默許站點)是存在的並正在運轉,且主站點ID確切是1。這解釋成績是湧現在 IIS://localhost的ADSI provider。

3、毛病緣由

win7應用的是iis7,而IIS 7默許並沒有裝置ADSI provider。

4、處理辦法

要處理這個成績就得裝置“IIS 元數據庫和IIS 6設置裝備擺設兼容性”。

“掌握面板”->“法式和功效”->面板左邊“翻開或封閉windows功效”->“Internet信息辦事”->“Web治理對象”->“IIS 6治理兼容性”->“IIS 元數據庫和IIS 6設置裝備擺設兼容性”。

以下圖所示:

 5、Windows Server 2008湧現這類毛病怎樣辦?

在Windows Server 2008下,應用腳色辦事裝置完“IIS 元數據庫和IIS 6設置裝備擺設兼容性”,還有能夠湧現以下毛病: 

[System.Runtime.InteropServices.COMException] {"Access is denied.\r\n"} System.Runtime.InteropServices.COMException
ErrorCode 0x80070005
Access is denied.

   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.get_IsContainer()
   at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
   at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)

這是由於 Windows Server 2008被UAC(User Account Control,用戶賬戶掌握)鎖定了.  你須要用治理員(Administrator)賬戶履行這個法式. 另外一種方法是設置運轉此法式的賬戶具有以下權限: Logon as a Service"/ "Logon as a Batch Job"

 以上就是處理DirectoryEntry設置裝備擺設IIS7湧現ADSI Error毛病的辦法,還有引伸出來的Windows Server 2008湧現這類毛病的處理方法,願望對年夜家處理這類成績有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved