Резервный список маршрутизации WCF в клиенте

Можно ли определить список резервного копирования WCF на клиенте, чтобы служба маршрутизации в одной точке контакта не была необязательной?

У меня есть две службы, реализующие один и тот же контакт (интерфейс). Если первая служба недоступна, я бы хотел, чтобы клиент знал, что должна использоваться служба резервного копирования.

Возможно ли это, или мне нужно создать службу маршрутизации (единую точку контакта), с которой клиент будет связываться?

    <client>
        <endpoint address="http://localhost:49192/OrdinaryCustomerService.svc"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICustomer"
            contract="OrdinaryCustomerServiceReference.ICustomer" name="OrdinaryCustomerService" />
        <endpoint address="http://localhost:49860/PremiumCustomerService.svc"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICustomer"
            contract="PremiumCustomerServiceReference.ICustomer" name="PremiumCustomerService" />
    </client>
    <routing>
        <backupLists>
            <backupList name="CustomerBackupList">
                <add endpointName="PremiumCustomerService"/>
            </backupList>
        </backupLists>
    </routing> 

1 ответ

Просто идея, но у меня похожая проблема, и я думал о создании службы маршрутизации на клиенте (в моем случае, веб-сервере IIS), чтобы все запросы на веб-сервере могли переключаться на другие веб-службы. У нас также есть несколько веб-серверов для восстановления при сбое, поэтому я бы поставил на каждый маршрутизатор.

Не идеальное, но лучшее решение, которое я нашел до сих пор. Если маршрутизатор на блоке IIS выйдет из строя, то вероятность того, что IIS также будет отключен, и, следовательно, наша система в любом случае перехватит другой веб-сервер.

У нас также есть надлежащие маршрутизаторы wfc с резервной копией для нашего среднего уровня, но раньше это было ручное изменение в веб-сервисе, чтобы справиться с этим.

Другие вопросы по тегам