我有一个将永远运行的服务,如果有客户端或不能访问此服务,但在很长一段时间没有客户端活动之后,能够与客户端连接.
这是因为,例如,在假期后,我希望能够连接服务,而无需手动重启服务.
目前,如果10分钟内没有收到任何连接,我的服务就会断开连接,但我不想指定任何时间,我想要无限时间.
谢谢.
您可以设置inactivityTimeout="infinite"或非常高的价值,虽然不推荐,但您的服务不应该是这样的,一旦客户端连接到它,他们就可以"永远"地使用它.
UPDATE
我的错误,似乎inactivityTimeout不能像其他Timeout一样设置为无限receiveTimeout.
但你为什么不设置receiveTimeout="infinite"?inactivityTimeout仅在reliableSession启用时使用,如果您不需要可靠的会话,则只需将receiveTimeout绑定设置为无限,在这种情况下,您receiveTimeout的处理方式是不活动超时.如果必须使用可靠的会话,则WCF将使用这两个值来确定服务何时超时,并且两者都需要满足以保持连接活动.似乎最大值inactivityTimeout是'24 .20:31:23.6470000',基本上是24天和20.5小时,所以在最坏的情况下,只需设置你的inactivityTimeout="24.20:31:23"时间,差不多一个月.如果您在此期间之间向服务发送一条简单的保持活动消息(基本上只是对您的服务调用某些操作),则会保持您的连接.
| 归档时间: |
|
| 查看次数: |
8533 次 |
| 最近记录: |