Отключить 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/>