重复使用WCF服务客户端还是每次创建一个?
我听到(并读到)很多关于哪个更好的意见:重用WCF服务客户端还是每次创建一个。但我始终无法理解在这些情况下到底发生了什么。除了意见之外,我真的没有找到什么“官方”的东西(比如msdn页面上说哪个更好,为什么更好,什么时候更好) 在开发自己的应用程序时,每次创建(和关闭)一个应用程序时,我很少遇到问题(创建和关闭过程没有增加处理时间,甚至一秒钟也没有)。但在少数情况下,重用WCF服务客户端确实带来了变化(以一种好的方式)。这些都是我在实践中观察到的,没有真正的逻辑动机 那么,谁能确切地向我解释一下哪种方式更好?重复使用WCF服务客户端还是每次创建一个?,wcf,web-services,client,Wcf,Web Services,Client,我听到(并读到)很多关于哪个更好的意见:重用WCF服务客户端还是每次创建一个。但我始终无法理解在这些情况下到底发生了什么。除了意见之外,我真的没有找到什么“官方”的东西(比如msdn页面上说哪个更好,为什么更好,什么时候更好) 在开发自己的应用程序时,每次创建(和关闭)一个应用程序时,我很少遇到问题(创建和关闭过程没有增加处理时间,甚至一秒钟也没有)。但在少数情况下,重用WCF服务客户端确实带来了变化(以一种好的方式)。这些都是我在实践中观察到的,没有真正的逻辑动机 那么,谁能确切地向我解释一下
在什么情况下?这取决于客户端加载?在IIS上使用Web Garden将影响选择?Microsoft建议为客户端创建缓存:(查看“需要考虑的问题”部分) 在WCF的初始版本中,创建通道工厂时存在性能问题,因此每次创建客户端都会导致性能问题。我们必须创建和缓存通道工厂。Microsoft通过更新(.NET Framework SP1?)修复了此问题,不再需要缓存 基本上,修复后的性能差异可以忽略不计,特别是考虑到您正在通过网络进行呼叫