首先添加两个引用:
System.EnterpriseServices及System.DirectoryServices
然后再在代码中引用:
using System.DirectoryServices; using System.EnterpriseServices; 然后就是如何添加绑定了: public static void AddHostHeader(int siteid, string ip, int port, string domain)//增加主机头(站点编号.ip.端口.域名) { DirectoryEntry site = new DirectoryEntry("IIS://localhost/W3SVC/" + siteid); PropertyValueCollection serverBindings = site.Properties["ServerBindings"]; string headerStr = string.Format("{0}:{1}:{2}", ip, port, domain); log4net.LogManager.GetLogger("root").Info(serverBindings.PropertyName + serverBindings.Value.ToString()); if (!serverBindings.Contains(headerStr)) { serverBindings.Add(headerStr); } site.CommitChanges(); } 其中,siteid,自己到IIS中看,ip不指定的话填"*",端口一般是80,域名是怎么多少就入多少注意:
1、添加后,会自动重启站点;
2、如果里面某个域名,重复添加,网站在重启的过程中会起不来,那就完蛋了,这个必须要配合自己的数据库;
3、必须在web.config添加权限配置:
<system.web> <identity impersonate="true" userName="Administrator" password="password" /> </system.web> 4、如果在IIS7中出现: DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000) “控制面板”->“程序和功能”->面板左侧“打开或关闭windows功能”->“Internet信息服务”->“Web管理工具”->“IIS 6管理兼容性”->“IIS 元数据库和IIS 6配置兼容性”。更理想的解决方式是用 WMI provider操作IIS 7 ,可参见此篇文章http://msdn.microsoft.com/en-us/library/aa347459.aspx
参考文章 :
1、http://blog.sina.com.cn/s/blog_632e099d0100q2d8.html
2、http://blog.csdn.net/gwblue/article/details/14521629
3、http://blog.csdn.net/ts1030746080/article/details/8741399