Web.config trasformazione: come applicare una trasformazione di tutti i nodi corrispondenti a un'espressione Locator?

StackOverflow https://stackoverflow.com/questions/4637107

Domanda

Ho recentemente scoperto il web.config trasformazione automatica nello strumento Web Deploy di Visual Studio 2010. Si sta lavorando bene, ma ho uno scenario che non riesco a far funzionare. Assumere Ho la seguente radice 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>

Per il mio Web.Release.config, voglio tutti i nodi endpoint con un legame di mexHttpBinding per essere rimosso.

Ho usato il seguente nel mio Web.Release.config:

<services>
  <service>
    <endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="Remove" />
  </service>
</services>

Tuttavia, questo rimuoverà solo la prima partita, nel Service1, ma non i seguenti. Ho provato vari modi di localizzare il nodo, sul nodo finale e il servizio, ma solo la prima partita ottiene mai sostituito.

C'è un modo per ottenere tutte le <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> da rimuovere?

Grazie.

È stato utile?

Soluzione

Ho appena provato questo e utilizzando RemoveAll invece di Remove sembra fare il trucco:

<services>
  <service>
    <endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="RemoveAll" />
  </service>
</services>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top