Недавно я обнаружил автоматическое преобразование web.config в инструменте веб-развертывания Visual Studio 2010. Он работает хорошо, но у меня есть сценарий, который, похоже, не работает.Предположим, у меня есть следующий корневой Web.config
<services>
<service name="Service1">
<endpoint address="" binding="customBinding" bindingConfiguration="LargeBufferBinding"
contract="Service1" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service name="Service2">
<endpoint address="" binding="customBinding" bindingConfiguration="LargeBufferBinding"
contract="Service2" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service name="Service3">
<endpoint address="" binding="customBinding" bindingConfiguration="LargeBufferBinding"
contract="Service3" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
Для моего Web.Release.config я хочу, чтобы все узлы конечных точек с привязкой mexHttpBinding были удалены.
В моем Web.Release.config я использовал следующее:
<services>
<service>
<endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="Remove" />
</service>
</services>
Однако это удалит только первое совпадение в Service1, но не следующие.Я пробовал различные способы определения местоположения узла на конечной точке и узле обслуживания, но заменяется только первое совпадение.
Есть ли способ получить все <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
, которые будут удалены?
Спасибо.