- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用 WCF 制作客户端/服务器样式的应用程序,但我找不到任何说明 NetTcpBinding 是否提供持久连接的文档?
我希望我的客户端一次连接并与服务器保持连接数周。 (是的,我知道我需要处理断开连接等问题。)
NetTcpBinding 是否允许像这样的长连接?如果是这样,我需要指定什么或者这是默认行为吗?
最佳答案
只要您保持服务主机和客户端代理处于事件状态并处于打开状态,WCF 中的基础连接也应该保持打开状态。即使在这之下,绑定(bind)似乎也使用来自 TCP 连接池的连接,如 NetTcpBinding MSDN page 中所见。 :
The NetTcpBinding uses TCP connection pooling based on the service’s host DNS name and the port number the service is listening on.
我不是 TCP 连接池如何工作的专家,您可能想尝试姐妹网站,例如 ServerFault有关此的更多详细信息。
如果你想控制所有这些,那么我能看到的唯一可以为开箱即用的 NetTcpBinding 调整的属性是 MaxConnections
.但是,如果您真的愿意深入研究,您也可以使用 TcpTransportBindingElement 构建您自己的自定义绑定(bind)。 ,这使您可以对 TcpConnectionPoolSettings 进行更细粒度的控制.
无论如何,如果我大胆猜测,我会认为构建服务主机和客户端代理所花费的时间(相对)比从池中获取连接所花费的时间要多得多,因此保持这两个打开可能足以满足您的要求。
我在评论中询问为什么您希望连接保持打开状态的原因是因为这本身很难成为要求。速度和响应时间 是一个真正的要求,所以最好的建议可能是明确这些要求(量化/限定您对速度的需求)并运行一些测试以确定最适合您的情况/需要什么.
关于c# - WCF NetTcpBinding 是否提供持久连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982026/
我有一个 WCF 服务,它使用具有消息安全性和用户名身份验证的 NetTcpBinding。在此之前,我使用 WsHttpBinding 但我切换到 NetTcp,因为我可以使用回调。 我的服务配置如
我正在运行 WCF 服务,除其他外,它用作网站的后端。因为网站和 WCF 服务都运行在同一台机器上,为了性能,我设置了一个 netTcpBinding。 现在的问题是,因为它们存在于同一个盒子上,我真
我正在使用 wcf nettcpbinding 传输文件(使用流媒体),但我无法传输大于 650 MB 的文件。这是异常(exception):“套接字连接已中止。这可能是由于处理您的消息时出错或远程
Book Essential WCF 声称 NetTcpBinding.MaxConnections 限制到端点的连接数。因此,如果属性值设置为 10,则该端点将只允许 10 个并发连接。 可是下面的
我有一个使用 netTcpBinding 和回调方法的主机/客户端 WCF 服务和客户端。
谁能解释这个错误的含义: The .Net Framing mode being used is not supported by blah blah yadda 我找不到任何有值(value)的信息
我在尝试解决 WCF 中的设置困境时遇到了以下问题... 我使用 NetTcp 绑定(bind)创建了 WCF 客户端-服务器服务。我没有对安全设置进行任何更改,并且在一台计算机上运行时它运行得非常好
我有一个作为 Windows 服务托管的 WCF 服务,客户端是一个使用 WCF 服务方法的 ASP.Net 应用程序。 在实现安全性的过程中,我很困惑 netTcpBinding/wsHttpBin
我知道已经有很多关于此问题的问题,但没有回复解决我的问题。 我在运行的服务器上有一个 NetTcpBinding,并且时不时地(并非总是如此,例如 20 到 60 次调用中的 1 次,完全随机)我在客
我正在使用 WCF 与多个服务器通信。 对于我的本地服务器,netTcpBinding 工作正常,没有问题。 但是当我尝试使用 app.config 中的以下 netTcpBinding 连接到我的远
我需要保护使用 netTcpBinding 并直接与基于 Windows 窗体的应用程序连接的 WCF 服务。我只需要在传输层保护它。 我非常确定它在本地运行,即我可以在本地运行该服务,并与客户端连接
NetTCPBinding 是否支持回调?如果是这样,请将我重定向到任何适当的示例。谢谢 最佳答案 考虑使用 Duplex Messaging .NetTCPBinding 原生支持它,与 HTTP
我有一个由 Windows 服务托管的 WCF 服务。它与网络中的零到多个客户端具有发布/订阅关系。绑定(bind)是 net.TCP。 WCF 服务向客户端提供“订阅”方法,以便客户端可以注册回调处
我在使用 netTcpBinding 时异步执行对 WCF 服务的调用时遇到问题。 例如。我有一个简单的服务,方法如下: public class Service1 : IService1
我有一个处理一些敏感数据的 WCF 服务。我想确保我不让这些数据暴露,所以我正在查看 netTCPBinding...主要是因为我可以控制它运行的网络并且性能是重中之重。 我知道有两个区域可以加密:传
我有一个基本的好友列表类型的应用程序,它是 WCF 中的发布/订阅交易。我的问题是其中一两个调用长时间运行,这会阻塞整个服务器应用程序(GUI 更新等)。 这是我的代码: [ServiceContra
我通常在我的服务中使用 HTTP 绑定(bind)。 我读到 net.tcp 绑定(bind)工作得更快,但是我不太确定我应该什么时候使用它? 什么是最佳实践,有什么缺点吗? 谢谢 最佳答案 NetT
使用 WCF 制作客户端/服务器样式的应用程序,但我找不到任何说明 NetTcpBinding 是否提供持久连接的文档? 我希望我的客户端一次连接并与服务器保持连接数周。 (是的,我知道我需要处理断开
我使用 NetTcpBinding 中的 Streamed TransferMode 和 System.IO.Stream 对象编写了一个可以转换任何大小文件的 WCF 服务。 在运行性能测试时,我发
我正在使用具有“传输”安全性(“Windows”凭据和“EncryptAndSign”保护)的 netTcpBinding。我已经知道 Kerberos(在 SPNEGO 之后)用于验证客户端和服务器
我是一名优秀的程序员,十分优秀!