C# 如何以编程方式连接到IIS 7
我正在尝试以编程方式连接到IIS。我发现网上有大量的例子,但我似乎无法找到任何可行的例子,并且尝试了很多变体 每次我尝试以下代码时,返回的对象的每个属性都有以下错误:…引发了“System.Runtime.InteropServices.COMException”类型的异常C# 如何以编程方式连接到IIS 7,c#,.net,iis,iis-7,c#-3.0,C#,.net,Iis,Iis 7,C# 3.0,我正在尝试以编程方式连接到IIS。我发现网上有大量的例子,但我似乎无法找到任何可行的例子,并且尝试了很多变体 每次我尝试以下代码时,返回的对象的每个属性都有以下错误:…引发了“System.Runtime.InteropServices.COMException”类型的异常 using System.DirectoryServices; String serverName = "serverName"; DirectoryEntry IIS = new DirectoryEntry("IIS
using System.DirectoryServices;
String serverName = "serverName";
DirectoryEntry IIS = new DirectoryEntry("IIS://" + serverName + "/W3SVC");
IIS = new DirectoryEntry("IIS://" + serverName + "/W3SVC", "administrator", "mypassword");
IIS = new DirectoryEntry("IIS://" + serverName + "/W3SVC/1/ROOT", "administrator", "mypassword");
我使用的是Windows目录用户帐户,我有很多网站在IIS上运行。我正在windows xp开发计算机上尝试此代码,试图连接到带有IIS 7的windows 2008服务器。有人知道我做错了什么吗 您的帐户可能对包装IIS调用的COM对象没有启动权限。您可能需要尝试将自己添加到承载IIS的框上的管理组以使其正常工作。确保目标服务器上安装了IIS6管理兼容性功能-如果没有它,您无法通过IIS7上的ADSI进行远程管理。确保您的客户端计算机上安装了IIS-您的程序将抛出错误System.Runtime.InteropServices.COMException(如果未安装) 当您在远程计算机上查看IIS时,这也很重要,运行您的应用程序的计算机也需要IIS 编辑:另外,我最近发现了一个专门用于连接和配置IIS7-Microsoft.Web.Administration的程序集。可能值得一看的是,您是否有权访问该文件或是否可以访问该文件,在任何情况下,该文件都应该在带有IIS7的机器上,并查看它可以做什么。恐怕我自己还没用过,所以我不能告诉你它是否能满足你的需要,但这是另一个值得研究的选择 最后,还有System.Management和WMI脚本选项
Dim scope As New Management.ManagementScope("\\" & server & "\root\MicrosoftIISv2")
scope.Connect()
Dim query As New Management.ObjectQuery("select * from IISWebVirtualDirSetting")
Dim searcher As New Management.ManagementObjectSearcher(scope, query)
For Each obj As Management.ManagementObject In searcher.Get()
DoSomethingWith(obj)
Next
obj上的属性列表位于,您还可以运行其他一些不同的查询-只需在MSDN上查找更多信息。从上面的代码可以看出,我在两次连接尝试中使用了Windows管理员帐户。我的个人帐户也有管理员权限。这是你指的还是你在暗示别的什么?