Динамическое общение с несколькими веб-сервисами

Я ищу совета, как мне выполнить ту работу, которая у меня есть. В основном у меня есть несколько веб-сервисов, которые принимают одни и те же методы и параметры. И это боль - всегда получать прокси-классы и изменять код, когда принимается новый поставщик, и я ищу способы добавить URL-адрес веб-службы в мою конфигурацию и во время выполнения, иметь возможность скомпилировать генерацию прокси классы и динамически взаимодействуют с удаленным компьютером.

В качестве примера: я должен отправить данные в метод, называемый UpdateCustomers (int id, имя строки, имя строки, DateTime DateofBirth) поставщику, и если мы решим использовать поставщика A, мы сможем изменить URL-адрес веб-службы в конфигурации, чтобы указать на A, или когда мы решим перейти на B и т. Д ...

Веб-сервисы - это .asmx или .svc.

Ищу подсказку и совет.

С Уважением


person Jack M    schedule 26.07.2016    source источник


Ответы (1)


Похоже на работу по WCF Routing.

В зависимости от того, как вы хотите направлять свои звонки, вы можете определить фильтры сообщений, которые можно использовать для оценки того, соответствуют ли входящие вызовы набору критериев, например, что определенное значение в полезной нагрузке мыла установлено на определенное значение:

<filters>
    <filter name="myXPathFilter1" 
            filterType="XPath" 
            filterData="//valueIWantToFilterOn = somevalue"/>
</filters>

Затем вы можете зарегистрировать фильтр для сопоставления с конкретной конечной точкой:

<filterTables>
    <table name="myRoutingTable">
        <filters>
           <add filterName="myXPathFilter1" endpointName="UpdateCustomers1" />
           <add filterName="myXPathFilter2" endpointName="UpdateCustomers2" />
           ...
        </filters>
    </table>
</filterTables>
person tom redfern    schedule 26.07.2016
comment
Спасибо, Том, я изучу это и дам тебе знать - person Jack M; 26.07.2016