当前位置:首页 > 通信资讯 > 正文

一、错误情况

环境:win7+iis7.0

directoryentry配置iis7出现如下错误

directoryentry配置iis7出现ads(directoryentry配置iis7出现ads)

或者是

下面一段代码在iis6.0下运转正常,但iis7.0下运转会出错:

?
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");//此处抛出异常

异常内容如下:

[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管理器你可以看到服务器的localhost(即默认站点)是存在的并正在运行,且主站点id确实是1。这说明问题是出现在 iis://localhost的adsi provider。

三、错误原因

win7使用的是iis7,而iis 7默认并没有安装adsi provider。

四、解决方法

要解决这个问题就得安装“iis 元数据库和iis 6配置兼容性”。

“控制面板”->“程序和功能”->面板左侧“打开或关闭windows功能”->“internet信息服务”->“web管理工具”->“iis 6管理兼容性”->“iis 元数据库和iis 6配置兼容性”。

如下图所示:

directoryentry配置iis7出现ads(directoryentry配置iis7出现ads)

directoryentry配置iis7出现ads(directoryentry配置iis7出现ads)

五、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出现这种错误的解决办法,希望对大家解决这类问题有所帮助。

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。