通过代码给IIS增加主机头
2006-03-25 21:08
337 查看
看了一醉解千愁的修改IIS目录的Asp.Net版本之后,想到以前想过要通过代码给IIS增加主机头,却一直没去研究,今天趁着兴趣,决定把这个问题解决了。
对于Blog网站,如果需要为用户提供二级域名支持,而Web程序不是运行默认站点中,就需要在用户注册时通过代码给IIS增加相应的主机头。
这个问题是通过Google搜索到Append a host header by code in IIS解决的,经过测试,确认方法可行并对代码进行了一些改进后,考虑到这个内容会给一些朋友带来帮助,于是就写了这篇文章。
代码如下:
static void Main(string[] args)
{
AddHostHeader(1, null, 80, "test.cnblogs.com");
}
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,对于非默认站点,通过查看站点日志文件名就可以知道。
对于Blog网站,如果需要为用户提供二级域名支持,而Web程序不是运行默认站点中,就需要在用户注册时通过代码给IIS增加相应的主机头。
这个问题是通过Google搜索到Append a host header by code in IIS解决的,经过测试,确认方法可行并对代码进行了一些改进后,考虑到这个内容会给一些朋友带来帮助,于是就写了这篇文章。
代码如下:
static void Main(string[] args)
{
AddHostHeader(1, null, 80, "test.cnblogs.com");
}
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,对于非默认站点,通过查看站点日志文件名就可以知道。
相关文章推荐
- 通过代码给IIS增加主机头
- ASP.NET通过代码给IIS增加主机头
- 通过代码给IIS增加主机头
- 通过代码方式修改IIS主机头
- 通过代码方式修改IIS主机头
- 通过代码方式修改IIS主机头
- 在InstallShield中通过主机名获取IP地址的代码
- 通过获取DNS解析的未转义主机名,区分测试环境和正式环境代码
- [VB代码]通过hostname得到主机IP
- WordPress 不修改代码通过sql语句修改数据库批量增加文章阅读量
- iPhone中通过代码增加控件
- SYD8801从机和TIcc2540主机进行通讯(通过修改从机端代码实现)
- SYD8801从机和TIcc2540主机进行通讯(通过修改主机端代码实现)
- windows下IIS+Xcache配置-配置代码测试通过
- C#中通过代码控制IIS服务重启
- C#中通过代码控制IIS服务重启
- C#中通过代码控制IIS服务重启
- 通过VC助手,增加代码颜色提示
- magento add product attribute set sql 通过插件的sql部分,给产品增加一个属性代码
- 【通过指定IP地址得到当前的网络上的主机的域名】代码