日期:2010-07-17 浏览次数:20395 次
static void AddHostHeader(int siteid,string ip, int port, string domain)
{
DirectoryEntry site = new DirectoryEntry("IIS://localhost/W3SVC/"+siteid);
PropertyValueCollection serverBindings = site.Properties["ServerBindings"];
string headerStr = string.Format("{0}:{1}:{2}",ip,port,domain);
if (!serverBindings.Contains(headerStr))
{
serverBindings.Add(headerStr);
}
site.CommitChanges();
}
在找到Append a host header by code in IIS之前,我通过下面的代码没找到"ServerBindings"属性,走了一些弯路。
DirectoryEntry site = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
代码很简单,需要说明的是siteid,默认站点是1,对于非默认站点,通过查看站点日志文件名就可以知道。