Изменение адреса конечной точки службы в моем файле web.config с помощью преобразования XML - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть два адреса конечных точек, связанных с моей службой, и я хочу изменить их оба в моем Web.Release.config.Раньше я не работал с преобразованиями XML, поэтому не уверен, как это сделать, особенно в тех случаях, когда нужно изменить несколько адресов конечных точек.

Я нашел другие примеры в Stackoverflow, но структура XML для них отличается от того, что у меня есть.

</configuration>

   <system.serviceModel>

      <services>

        <service behaviorConfiguration="MyService.ServiceBehavior" name="MyService.Documents">
           <endpoint name="MyService.Documents.Endpoint"
                address="https://MyApp.net/Documents.svc"
                behaviorConfiguration="MyService.EndpointBehavior"
                binding="webHttpBinding"
                bindingConfiguration="TransportSecurity"
                contract="MyService.IDocuments" />
        </service>

        <service behaviorConfiguration="MyService.ServiceBehavior" name="MyService.Leads">
           <endpoint name="MyService.Leads.Endpoint"
                address="https://MyApp.net/Leads.svc"
                behaviorConfiguration="MyService.EndpointBehavior"
                binding="webHttpBinding"
                bindingConfiguration="TransportSecurity"
                contract="MyService.ILeads" />
        </service>

     </services>

  </system.serviceModel>

</configuration>

Два адреса конечной точки https://MyApp.net/Documents.svc и https://MyApp.net/Leads.svc - это то, что мне нужноизменить.

1 Ответ

0 голосов
/ 21 ноября 2018

Я понял это.Вот преобразование, которое я придумал.

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

    <system.serviceModel>

        <services>

            <service name="MyService.Documents">
                <endpoint name="MyService.Documents.Endpoint" 
                    address="https://MyApp-sandbox.net/Documents.svc"
                    xdt:Locator="Match(name)"
                    xdt:Transform="SetAttributes(address)"/>
            </service>

            <service name="MyService.Leads">
                <endpoint name="MyService.Leads.Endpoint"
                    address="https://MyApp-sandbox.net/Leads.svc"
                    xdt:Locator="Match(name)"
                    xdt:Transform="SetAttributes(address)"/>
            </service>

        </services>

    </system.serviceModel>

</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...