需求需要,不然我也不用大费周折了。在网上查到了这个,但不知道用C#如何实现啊 IIS 提供了 IIS Admin Objects,让用户可以通过程序来管理IIS。IIS Admin Objects 基于 Microsoft Active Directory Service Interfaces (ADSI)。任何支持 Automation 的编程语言,如 ASP 中的 VBScript/JScript,Visual Basic, Java, 或 C++ 都能使用它。您可以参考以下的 ASP 示例程序来修改 IIS 默认站点的地址:<% Set IISOBJ = GetObject("IIS://MyServer/w3svc/1/root") IISOBJ.Path = "D:\newroot" IISOBJ.SetInfo Set IISOBJ=Nothing %>
试试string err = ""; IISVirtualRoot iis = new IISVirtualRoot(); iis.Create("IIS://MyServer/w3svc/1/root", "d:\\web1", "myweb", out err);
using System.EnterpriseServices.Internal;
试试:string err = ""; IISVirtualRoot iis = new IISVirtualRoot(); iis.Delete("IIS://MyServer/w3svc/1/root", "c:\\web1", "myweb", out err); iis.Create("IIS://MyServer/w3svc/1/root", "d:\\web1", "myweb", out err);
我是想把 c:/Inetpub/wwwroot 改为别的路径
IIS 提供了 IIS Admin Objects,让用户可以通过程序来管理IIS。IIS Admin Objects 基于 Microsoft Active Directory Service Interfaces (ADSI)。任何支持 Automation 的编程语言,如 ASP 中的 VBScript/JScript,Visual Basic, Java, 或 C++ 都能使用它。您可以参考以下的 ASP 示例程序来修改 IIS 默认站点的地址:<%
Set IISOBJ = GetObject("IIS://MyServer/w3svc/1/root")
IISOBJ.Path = "D:\newroot"
IISOBJ.SetInfo
Set IISOBJ=Nothing
%>
IISVirtualRoot iis = new IISVirtualRoot();
iis.Create("IIS://MyServer/w3svc/1/root", "d:\\web1", "myweb", out err);
IISVirtualRoot iis = new IISVirtualRoot();
iis.Delete("IIS://MyServer/w3svc/1/root", "c:\\web1", "myweb", out err);
iis.Create("IIS://MyServer/w3svc/1/root", "d:\\web1", "myweb", out err);
http://blog.csdn.net/guoweijun394/archive/2006/11/25/1413664.aspx
DirectoryEntry root = new DirectoryEntry("IIS://localhost/W3SVC");
DirectoryEntry site = (DirectoryEntry)root.Invoke("GetObject", "IIsWebServer", 1);
site.Invoke("Put", "ServerBindings", IP + ":80:"); //修改IP为
site.Invoke("Put", "DefaultDoc", "index.html");
DirectoryEntry siteVDir = site.Children.Find("Root", "IISWebVirtualDir");// 此处就是重点解决问题地方拉
siteVDir.Properties["Path"][0] = "c:\\";
siteVDir.CommitChanges();
site.CommitChanges();
root.CommitChanges();