Мне нужно переключиться между http и https во время разработки и развертывания.Изменение web.config во время развертывания
Чтобы сделать это, мне нужно сделать следующие изменения в 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>
Но Я делаю это неправильно, потому что, когда я публикую эту службу в своей файловой системе, я все еще вижу http-версию разработчика web.config. Любая помощь приветствуется.
Я сделал еще одну ошибку, используя «setAttributes» вместо «SetAttributes». – YoYoMyo
Правильно, его чувствительный к регистру. Я обновил свой ответ. – jrummell
Знаете ли вы, как добавить блок в web.config? Я попробовал InsertAfter ... но я думаю, что мой синтаксис неправильный. – YoYoMyo