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