Niedawno odkryłem automatyczną transformację web.config w narzędziu wdrażania sieci w studio wizualnym 2010. Działa to dobrze, ale mam scenariusz, w którym nie mogę pracować. Przyjmijmy, mam następującą korzeniowy Web.configTransformacja Web.config: jak zastosować transformację do wszystkich węzłów pasujących do wyrażenia Locator?
<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>
Dla mojego Web.Release.config, chcę wszystkie końcowych węzłów z wiązania mexHttpBinding zostać usunięte.
Użyłem następujących w moim Web.Release.config:
<services>
<service>
<endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="Remove" />
</service>
</services>
Jednak ta usunie tylko pierwszy mecz, w Service1, ale nie następujące z nich. Próbowałem różnych sposobów lokalizowania węzła, na punkcie końcowym i węzła usług, ale tylko pierwszy mecz zostanie kiedykolwiek zastąpiony.
Czy istnieje sposób, aby usunąć wszystkie <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
?
Dzięki.
Clement tylko jako notatkę należy przyjąć odpowiedź poniżej, a nie tylko komentować. –