是否可以在客户端中定义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>
答案 0 :(得分:0)
只是一个想法,但我有一个类似的问题,我一直在考虑在客户端上创建路由服务(在我的情况下是IIS网络服务器),以便网络服务器上的所有请求都可以故障转移到不同的Web服务。我们还有多个用于故障转移的Web服务器,所以我会在每个服务器上放置一个路由器。
目前为止,我找到了不太理想但最好的解决方案。如果IIS盒子上的路由器出现故障,那么IIS也会崩溃,因此无论如何我们的系统都会被其他网络服务器踢掉。
我们还有适当的wfc路由器,我们的中间teir备份,但在手动更改到webservice之前处理这个。