修改web.config系统.Microsoft.Web.Administration.ServerManager的Se

本文关键字:Administration ServerManager Se Web Microsoft web config 系统 修改 | 更新日期: 2023-09-27 18:28:17

我在尝试使用Microsoft.Web.Administration.ServerManager库修改我的web应用程序web.config文件时有点难过。

我正在尝试修改位于System.ServiceModel中的client部分。

基本上,我想参加这样的

<system.serviceModel>
    <client>
        <endpoint address="net.tcp://localhost:123/MyService.svc"
                  behaviorConfiguration="DefaultBehaviour" binding="netTcpBinding"
                  bindingConfiguration="TCPBinding" contract="MyService.IMyService"
                  name="MyService" />
    </client>
</system.serviceModel>

并将其更改为该

<system.serviceModel>
    <client>
        <endpoint address="net.tcp://192.168.0.1:123/MyService.svc"
                  behaviorConfiguration="DefaultBehaviour" binding="netTcpBinding"
                  bindingConfiguration="TCPBinding" contract="MyService.IMyService"
                  name="MyService" />
    </client>
</system.serviceModel>

我已经能够检索到SectionGroup作为这样的

using (ServerManager server = new ServerManager())
{        
    var siteConfig = server.Sites.First().GetWebConfiguration();
    var clientSection = siteConfig.GetEffectiveSectionGroup().SectionGroups["system.ServiceModel"].Sections["client"];
}

但我完全被困在了如何修改实际条目的问题上。

如有任何指导,我们将不胜感激。

修改web.config系统.Microsoft.Web.Administration.ServerManager的Se

您可以这样修改属性:

 using (ServerManager server = new ServerManager()) 
 {
     var siteConfig = server.Sites.First().GetWebConfiguration();
     var section = siteConfig.GetSection("system.serviceModel/client/endpoint");
     section.SetAttributeValue("address", "net.tcp://192.168.0.1:123/MyService.svc");
     server.CommitChanges();
  }