gpt4 book ai didi

c# - 使用 ServerManager 类设置网站端口

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:31 24 4
gpt4 key购买 nike

我需要帮助使用 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);

最佳答案

您是否提交更改?

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

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();

关于c# - 使用 ServerManager 类设置网站端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11616606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com