一、錯誤情況
環(huán)境:win7+iis7.0
directoryentry配置iis7出現(xiàn)如下錯誤
或者是
下面一段代碼在iis6.0下運(yùn)轉(zhuǎn)正常,但iis7.0下運(yùn)轉(zhuǎn)會出錯:
1
2
3
|
system.directoryservices.directoryentry iisserver; iisserver = new system.directoryservices.directoryentry("iis://localhost/w3svc/1"); system.directoryservices.directoryentry rootfolder = iisserver.children.find("root","iiswebvirtualdir");//此處拋出異常 |
異常內(nèi)容如下:
[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)
二、錯誤分析
這段異常代碼表明 iis://localhost/w3svc/1 的adsi provider不存在或者無法訪問。
打開iis管理器你可以看到服務(wù)器的localhost(即默認(rèn)站點(diǎn))是存在的并正在運(yùn)行,且主站點(diǎn)id確實(shí)是1。這說明問題是出現(xiàn)在 iis://localhost的adsi provider。
三、錯誤原因
win7使用的是iis7,而iis 7默認(rèn)并沒有安裝adsi provider。
四、解決方法
要解決這個問題就得安裝“iis 元數(shù)據(jù)庫和iis 6配置兼容性”。
“控制面板”->“程序和功能”->面板左側(cè)“打開或關(guān)閉windows功能”->“internet信息服務(wù)”->“web管理工具”->“iis 6管理兼容性”->“iis 元數(shù)據(jù)庫和iis 6配置兼容性”。
如下圖所示:
五、windows server 2008出現(xiàn)這種錯誤怎么辦?
在windows server 2008下,使用角色服務(wù)安裝完“iis 元數(shù)據(jù)庫和iis 6配置兼容性”,還有可能出現(xiàn)如下錯誤:
[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)
這是因?yàn)?windows server 2008被uac(user account control,用戶賬戶控制)鎖定了. 你需要用管理員(administrator)賬戶執(zhí)行這個程序. 另一種方式是設(shè)置運(yùn)行此程序的賬戶擁有如下權(quán)限: logon as a service"/ "logon as a batch job"
以上就是解決directoryentry配置iis7出現(xiàn)adsi error錯誤的方法,還有引申出來的windows server 2008出現(xiàn)這種錯誤的解決辦法,希望對大家解決這類問題有所幫助。