【问题标题】:Change web.config during deployment在部署期间更改 web.config
【发布时间】:2012-03-14 07:32:51
【问题描述】:

在开发和部署过程中需要在http和https之间切换。

为此,我需要在 web.config 中进行以下更改:

 <behaviors>
  <serviceBehaviors>
    <behavior name="DirectInstallHelperServiceBehavior">
      <!-- need to change to <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"> -->
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false">
      </serviceMetadata>
    </behavior>
  </serviceBehaviors>
</behaviors>

<bindings>
  <webHttpBinding>
    <binding>
<!-- need to add the following, but don't know how
      <security mode="Transport">
        <transport clientCredentialType="Basic"/>
      </security>
-->
    </binding>
  </webHttpBinding>
</bindings>

所以我尝试在 Web.Release.config 中添加以下行:

<behaviors>
  <serviceBehaviors>
    <behavior name="DirectInstallHelperServiceBehavior">
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" xdt:Transform="setAttribute(httpsGetEnabled, httpGetEnabled)" xdt:Locator="Match(name)"></serviceMetadata>
    </behavior>
  </serviceBehaviors>
</behaviors>

<bindings>
  <webHttpBinding>
    <binding>
      <security mode="Transport" xdt:Transform="InsertAfter(/configuration/system.serviceModel/bindings/webHttpBinding/binding)">
        <transport clientCredentialType="Basic"/>
      </security>
    </binding>
  </webHttpBinding>
</bindings>

但是我做错了,因为当我将服务发布到我的文件系统时,我仍然看到 web.config 的开发 http 版本。 任何帮助表示赞赏。

【问题讨论】:

    标签: c# wcf visual-studio web-config web-config-transform


    【解决方案1】:

    将您的 xdt:Transform 值更改为 SetAttributes。并删除xdt:Locator,因为没有名称属性。

    <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" xdt:Transform="SetAttributes"></serviceMetadata>
    

    【讨论】:

    • 我又犯了一个错误,使用“setAttributes”而不是“SetAttributes”。
    • 你知道如何在 web.config 中添加块吗?我试过 InsertAfter...但我认为我的语法是错误的。
    • 哦,我需要使用 Insert(/configuration/system.serviceModel/bindings/webHttpBinding/binding) 将子级添加到
    • 是的。 MSDN 上有一些示例,地址为msdn.microsoft.com/en-us/library/dd465326.aspx
    猜你喜欢
    • 2016-10-13
    • 2013-03-15
    • 2012-05-31
    • 2013-05-08
    • 2020-01-18
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    相关资源
    最近更新 更多