0

ライブラリを使用して Web アプリケーションの web.config ファイルを変更しようとして、少し悲しくなっていMicrosoft.Web.Administration.ServerManagerます。

私がやろうとしているのは、にあるclientセクションを変更することSystem.ServiceModelです。

基本的にはこんな感じでエントリーしたいと思います

<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"];
}

しかし、実際のエントリを変更する方法については完全に行き詰まっています。

ご指導いただければ幸いです。

4

1 に答える 1

0

次のように属性を変更できます。

 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();
  }
于 2014-02-10T01:48:17.097 に答える