首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ServerManager类设置网站端口

使用ServerManager类设置网站端口
EN

Stack Overflow用户
提问于 2012-07-24 00:29:00
回答 1查看 3.1K关注 0票数 1

我需要帮助设置一个使用Microsoft.Web.Administration.ServerManager类的网站端口。

首先,我得到了这个网站:

代码语言:javascript
复制
Site site = this._serverManager.Sites[section.WebsiteName];

然后,我尝试从传入的设置中设置端口:

代码语言:javascript
复制
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();

我把写行放在那里检查,但是端口永远不会改变,为什么?我已经知道这个网站是有效的,因为我在来这里之前检查过了。

代码语言:javascript
复制
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。

多亏了下面的答案,我终于得到了它:

代码语言:javascript
复制
b.BindingInformation = String.Format("{2}:{0}:{1}", section.Port, b.Host, b.EndPoint.Address);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-24 02:25:10

您提交更改了吗?

这是我的服务器管理应用程序中的代码(从Xml文档中的数据创建):

代码语言:javascript
复制
ServerManager manager = new ServerManager();
Site site = manager.Sites[siteName];

foreach (XElement bindingNode in bindingsNode.Elements("Binding")) {
    Binding binding = site.Bindings.CreateElement();
    binding.BindingInformation = String.Format("{2}:{0}:{1}", bindingNode.Attribute("Port").Value, bindingNode.Value, bindingNode.Attribute("IP").Value);
    site.Bindings.Add(binding);
}

manager.CommitChanges();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11616606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档