gpt4 book ai didi

WCF 客户端连接缓存/池

转载 作者:行者123 更新时间:2023-12-04 23:32:11 27 4
gpt4 key购买 nike

假设您从一个项目公开 WCF 服务,并使用“添加服务引用”(在本例中为 Framework 3.5 WPF 应用程序)在另一个项目中使用它。

当您重新实例化 ClientBase 派生代理时,ClientBase 是否会执行底层 channel 的任何类型的连接池,或者您是否会承担每次与服务建立连接的全部开销?我特别担心这一点,因为我们在 wsHttpBinding 中使用了 security mode="Message"。

最佳答案

请看this article其中描述了有关如何缓存客户端代理的最佳实践。如果您直接创建代理( MyProxy p = new MyProxy(...) ),那么您似乎真的无法缓存底层 ChannelFactory,这是昂贵的部分。但是如果你使用 ChannelFactory要创建您的代理,ChannelFactory由 AppDomain 级别的代理缓存,它基于您传递给代理的参数(有点像基于连接字符串的连接池)。
这篇文章详细介绍了幕后发生的事情,但重点是如果使用 ChannelFactory 会提高性能。创建您的代理而不是直接实例化它。
希望这可以帮助!!

关于WCF 客户端连接缓存/池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3509487/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com