gpt4 book ai didi

c# - WCF 是否在后台优化了客户端的连接?

转载 作者:太空狗 更新时间:2023-10-30 00:47:37 25 4
gpt4 key购买 nike

我们目前正在开发一个将使用 WCF 服务的应用程序。主机(客户端)正在使用优秀的WCF Service Proxy Helper from Erwyn van der Meer .

我想知道的是...如果我多次打开此对象...它会导致多个(昂贵的)连接还是 WCF 会管理它并池化连接。

我想知道这一点的原因是因为我们将在同一个 Web 请求中的不同时间点调用服务的方法,并且我们目前已将服务代理类的实例化包装在调用中。

例如:

MyService.MyMethod1() // wraps the connection usage as well as the call to the service

关于如何在保持代码符合 SRP 的同时最小化连接量的任何建议会很棒。

所以呢?有什么想法吗?

最佳答案

您应该尽量减少您创建的代理对象的数量。 WCF 中的代理的设置成本非常高,因此创建一个代理并对其多次调用函数肯定比为每个方法调用创建一个新代理更有效。

代理对象和连接之间的关系取决于所使用的传输方式。对于 http 传输,每个函数调用都会启动一个 HTTP 连接。对于 net.tcp 传输,连接在 Open() 时建立并一直保持到 Close()。某些绑定(bind)设置(例如那些支持 WS-SecureConversation 的设置)将产生额外的“管理”连接和消息交换。

AKAIK,开箱即用的绑定(bind)都不执行连接池。

关于c# - WCF 是否在后台优化了客户端的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275566/

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