使用WCF制作客户端/服务器式应用程序,但是我找不到任何解释NetTcpBinding是否提供持久连接的文档?
我希望我的客户端连接并保持连接到服务器几个星期.(是的,我知道我需要处理断线等...)
NetTcpBinding是否允许这样的长连接?如果有,我需要指定什么或这是默认行为?
只要您保持服务主机和客户端代理处于活动状态并打开,WCF中的基础连接也应保持打开状态.即便如此,似乎绑定使用来自TCP连接池的连接,如NetTcpBinding MSDN页面上所示:
该NetTcpBinding的使用基于服务的主机DNS名称和服务正在侦听的端口号TCP连接池.
我不是TCP连接池如何工作的专家,您可能想尝试一个姐妹站点,如ServerFault,以获取更多详细信息.
如果你想控制所有这些,那么我可以看到的唯一属性可以调整为开箱即用的NetTcpBinding MaxConnections.但是,如果你真的愿意深入研究,你也可以使用TcpTransportBindingElement构建自己的自定义绑定,这样就可以对TcpConnectionPoolSettings进行更细粒度的控制.
在任何情况下,如果我冒险猜测我认为构建服务主机和客户端代理将花费比从池中获取连接所花费的任何时间(相对)更多的时间,因此保持这两个打开可能就足够了你的要求.
我在评论中询问为什么你希望连接保持开放的原因是因为这本身就不是一个要求.速度和响应时间是一个真正的要求,因此最好的建议可能是明确这些要求(量化/限定您对速度的需求)并运行一些测试来确定您的情况最佳/需要什么.
| 归档时间: |
|
| 查看次数: |
4113 次 |
| 最近记录: |