【发布时间】:2011-06-19 20:43:18
【问题描述】:
我有在后台运行的 C# 应用程序。此应用程序的执行可能需要 1 到 10 分钟,并且它正在与调用多个 Web 方法的 WCF 服务进行通信,从开始到执行结束。
为避免创建/关闭太多代理对象,我在整个过程中设置了一个代理对象。我有几个配置了 IIS 的服务器框,其中 WCF 服务的副本位于其中,我想使用这两个框来分散负载。由于缺乏昂贵的负载平衡解决方案,我想动态更改代理的端点地址,以便在每次方法调用时与不同的服务器框进行通信。
在第一个方法调用之前我已经尝试过了:
client.Endpoint.Address = new EndpointAddress("http://box1.wcfserviceaddress.com/MyService.svc");
进一步更改此行不会产生任何影响,并且客户端首先连接的框会继续接收方法调用。此外,将服务实例管理从会话更改为每次调用也没有任何区别。
可以这样做还是我需要为每个方法调用创建一个客户端?
问候, F.
【问题讨论】: