- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个使用客户端回调的 WCF 服务。只要有连接(互联网、网络)并且客户端或 channel 没有明确关闭 channel ,我就希望 channel 保持打开状态。
为了保持 channel 打开(即使没有事件),我找到了 WCF 支持的可靠 session 。我看到通过使用可靠 session ,有两个计时器需要考虑:Binding.ReceiveTimeout
和 ReliableSession.InactivityTimeout
.
在互联网上搜索后,我仍然无法确切了解这两者是如何协同工作的。我知道如果两次超时,连接将进入故障状态。
我的第一个问题:启用可靠 session 时究竟会发生什么?
我的第二个问题:Here ,为什么msdn会这样说?
Since the connection is dropped if either inactivity timer fires, increasing InactivityTimeout once it is greater than ReceiveTimeout has no effect. The default for both of these timeouts is 10 minutes, so you always have to increase both of them to make a difference when using a reliable session.
最佳答案
要获得第一个问题的答案,请查看此问题的不错答案:
What is the purpose of WCF reliable session?
对我来说,msdn 站点上的解释很清楚:
当达到 ReceiveTimeout 中指定的时间(例如 10 分钟)时,它将结束连接,即使可靠 session 已发送保持事件状态(例如每 1 分钟)。
每分钟发送的保持事件状态将确保永远不会达到 inactivityTimout(例如 5 分钟)——因此 channel 将无休止地保持打开状态——但在 ReceiveTimeout 中指定的时间之后, session / channel 仍将关闭。
因此,据我了解,ReceiveTimeout 应始终高于或与 inactivityTimeout 相同。
关于.net - WCF - Binding.ReceiveTimeout & ReliableSession.InactivityTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12872017/
我想清楚地解释 basicHttpBinding 的 ReceiveTimeout 在我的客户端会做什么?不是 Web 服务端。 在 MS 文档中非常清楚,此属性对客户端的 WCFBinding 没有
我使用 WCF 编写了大部分工作代码,其中客户端订阅服务器,服务器将数据推送到客户端。 我离开运行了一段时间,并尝试向客户端发送一些数据,但出现异常,告诉我必须设置 receiveTimeout 属性
我有一个多线程 C# 程序,其中每个线程都使用 TcpClient 从多个服务器同步接收面向文本/行的数据。 它已经运行 2 年没有错误,但是当提供服务器的供应商发生变化时,我们开始看到供应商服务器程
我正在尝试制作一个使用客户端回调的 WCF 服务。只要有连接(互联网、网络)并且客户端或 channel 没有明确关闭 channel ,我就希望 channel 保持打开状态。 为了保持 chann
我需要我的 WAS 托管服务(PerCall、Concurrency.Multiple)正常关闭/回收,但任何不活动(但打开)的客户端代理将阻止服务正常关闭。 我原以为 receiveTimout 会
在编写 TCP 服务器时,我想设置读取客户端请求的超时时间: var tcpClient = tcpListener.AcceptTcpClient(); var networkStream = tc
我正在进入一个实现 IBM MQ 监听 Spring JMS 应用程序的项目,但我无法理解 DefaultMessageListenerContainer 中的“receiveTimeout”。 与来
我的主机中有以下 app.config: 如何将
我已生成 CXF 服务并为 120000ms = 2min 设置超时对于两者: requestContext.put("javax.xml.ws.client.receiveTimeout", 120
我正在开发一个包含 WCF 服务和使用该服务的客户端的解决方案。有时我正在调试服务,有时是客户端,有时两者都是。 在调试期间,我得到一个带有附加信息的 TimeoutException 附加信息:请求
我是一名优秀的程序员,十分优秀!