在我的当前Web项目中,我们对每个远程服务的方法调用都执行ClientFactory.CreateChannel。这真的有必要吗?最佳实践是什么?
对于双工WCF服务
创建单个通道并使用它直到不再需要与服务器进行通信或该通道被关闭。
创建通道后,在向服务器发出任何调用之前,建议检查通道的状态(错误、打开、关闭)。
建议注册通道关闭/错误事件以立即了解其发生。这样您可以采取必要的措施或/和再次使用相同的通道对象引用创建通道。
对于普通WCF服务
创建代理模式,创建通道/重用/重新创建、错误处理和处理。设置适当的不活动超时时间,并将WCF客户端的代理适当配置与最适合您解决方案的配置一起使用。
始终进行负载测试!