【发布时间】:2023-09-21 21:50:01
【问题描述】:
如何设置回退端点。我在 conifg 文件中指定了多个端点,如下所示。如果服务不可访问,那么我的客户应该检查列表中指定的下一个地址。
客户端配置文件:
<client>
<endpoint address="http://192.168.1.4/SampleAppWeb/Services/SampleAppService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISampleAppService"
contract="SampleAppServiceReference.ISampleAppService" name="BasicHttpBinding_ISampleAppService" />
<endpoint address="http://172.168.12.121/SampleAppWeb/Services/SampleAppService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISampleAppService"
contract="SampleAppServiceReference.ISampleAppService" name="BasicHttpBinding_ISampleAppService1" />
<endpoint address="http://127.0.0.1/Services/SampleAppWeb/SampleAppService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISampleAppService"
contract="SampleAppServiceReference.ISampleAppService" name="BasicHttpBinding_ISampleAppService2" />
<endpoint address="http://172.168.111.115/Services/SampleAppWeb/SampleAppService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISampleAppService"
contract="SampleAppServiceReference.ISampleAppService" name="BasicHttpBinding_ISampleAppService3" />
</client>
代码隐藏:
var pass = new SampleAppServiceReference.SampleAppServiceClient("BasicHttpBinding_ISampleAppService3");
【问题讨论】:
-
我通过调用“BasicHttpBinding_ISampleAppService3”等端点配置名称来访问端点。但是,有时我的服务可能无法在该端点上使用。但是,肯定是 4 个端点之一。因此,我想以这样一种方式配置服务,即如果端点处的服务未找到或无法访问。它应该尝试替代端点之一。有可能吗?
-
如果我有两个端点。一个失败,然后在 try catch 块中我可以设置另一个端点名称。但是,我觉得这样不好还是可以这样做?。