如何在web.config中使用XML Transformation更改端点地址?

时间:2014-11-12 18:19:09

标签: c# xml wcf xslt

我需要在web.config中更改此配置的地址:

<client>
  <endpoint address="OLD_ADDRESS"
    binding="basicHttpBinding"
    contract="Service.IService" name="BasicHttpBinding_IService" />
</client>

到此:

<client>
  <endpoint address="NEW_ADDRESS"
    binding="basicHttpBinding"
    contract="Service.IService" name="BasicHttpBinding_IService" />
</client>

在我的XML转换文件中(它正在运行,它会更改另一个add key value
我有这个:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <client>
    <endpoint name="BasicHttpBinding_IService"
      address="NEW_ADDRESS"
      xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </client>

但它不起作用。如果我按名字找到,我不明白为什么它不会改变。 任何帮助/提示都将被预先确定。感谢

1 个答案:

答案 0 :(得分:45)

转换文件的结构是否与您的web.config相匹配?具体来说,您是否缺少systems.serviceModel元素?

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
   <system.serviceModel>
      <client>
         <endpoint name="BasicHttpBinding_IService" address="NEW_ADDRESS"
           xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
      </client>
   </system.serviceModel>
</configuration>