【发布时间】:2012-07-21 22:18:18
【问题描述】:
我需要帮助使用 Microsoft.Web.Administration.ServerManager 类为网站设置端口。
首先我得到了网站:
Site site = this._serverManager.Sites[section.WebsiteName];
然后我尝试从我传入的设置中设置端口:
foreach (Binding b in from binding in site.Bindings.Where(b => b != null && b.EndPoint != null)
select binding)
{
b.EndPoint.Port = Int32.Parse(section.Port);
Console.WriteLine(b.EndPoint.Port);
} this._serverManager.CommitChanges();
我把 writeline 放在那里检查,端口永远不会改变,为什么?我已经知道该网站是有效的,因为我在到达这里之前会进行检查。
Binding binding = site.Bindings.CreateElement();
binding.BindingInformation = String.Format("{2}:{0}:{1}", section.Port,b.Host, b.EndPoint.Address);
//b.EndPoint.Port = Int32.Parse(section.Port);
site.Bindings.Add(binding);
我在上面尝试过,我得到一个关于 GetAttributeValue 的 COMException。
感谢下面我必须做的答案,终于得到它:
b.BindingInformation = String.Format("{2}:{0}:{1}", section.Port, b.Host, b.EndPoint.Address);
【问题讨论】:
-
[关于 stackoverflow 本身][1] [1] 提供了一个包含更多信息的类似问题:stackoverflow.com/questions/6101712/…