.net C# 程序控制IIS 添加站点域名绑定

首先添加两个引用:

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值