我有一个简单的WCF服务,我正在与异步通信.
我不喜欢的是打电话的时候 EndServiceMethod(IASyncResult)
如果我忘记调用该Close()
方法,该服务实际上会使连接保持打开状态,然后在wcf达到超时异常的最大并发连接数后,所有剩余的连接都将失败.
我已经尝试将该 [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall)]
属性用于服务合同,这似乎对服务的连接状态没有任何影响.
也许我错误地实现了它?
任何想法或建议.
我正在尝试找到WCF的行为模式,允许客户端发出请求,然后服务器响应请求,然后假设连接已完成并可以终止.
这其实是一个棘手的问题。
一方面,如果您不关闭连接,它将保持打开状态,直到超时(1 分钟),在负载下,您将达到最大连接数(默认 10)。
另一方面,您正在异步调用服务,因此如果您在收到回调之前关闭连接,则回调将丢失。
您可以尝试以下几件事:
归档时间: |
|
查看次数: |
6176 次 |
最近记录: |