Отключить httpGetEnable в конфигурации преобразования

У меня есть следующий элемент web.config:

<behaviors>
  <serviceBehaviors>
    <behavior name="NameOfThisBehavior">
      <ServiceErrorHandler/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
      <serviceMetadata httpGetEnabled="true"/>
      <serviceAuthorization serviceAuthorizationManagerType="Blablabla"/>
    </behavior>
  </serviceBehaviors>
</behaviors>

Мне нужно установить для serviceDebug includeExceptionDetailInFaults и serviceMetadata httpGetEnabled значение false в моем преобразовании конфигурации. Я думаю, что удаление будет работать так же, как я предполагаю, что значение по умолчанию является ложным.

Это то, что я делаю сейчас, что не работает:

<behaviors>
    <serviceBehaviors>
      <behavior name="NameOfThisBehavior" xdt:Locator="Match(name)" >
        <serviceMetadata httpGetEnabled="false" xdt:Transform="SetAttributes(httpGetEnabled)" />
        <serviceDebug includeExceptionDetailInFaults="false" xdt:Transform="SetAttributes(includeExceptionDetailInFaults)"/>
      </behavior>
    </serviceBehaviors>
</behaviors>

Может кто-нибудь, пожалуйста, дать некоторое представление о том, что мне не хватает?

1 ответ

Мне удалось решить это с помощью XPath в преобразованном конфиге. Кажется, что transform-thingymajig не ищет вниз по иерархии, поэтому мне пришлось указать точный элемент для преобразования.

  <serviceMetadata httpGetEnabled="false" xdt:Transform="SetAttributes(httpGetEnabled)"
        xdt:Locator="XPath(/configuration/system.serviceModel/behaviors/serviceBehaviors/behavior/serviceMetadata)" />
  <serviceMetadata/>
Другие вопросы по тегам