gpt4 book ai didi

wcf - 处理 WCF 服务中的超时

转载 作者:行者123 更新时间:2023-12-03 07:54:49 26 4
gpt4 key购买 nike

我想知道在 WCF 服务中处理超时的正确方法是什么。

我有一个使用 session 的服务。客户端执行连接、各种调用(当用户与客户端应用程序交互时),然后在某些时候执行断开连接。 Disconnect 操作在服务器上执行清理(例如释放 COM 对象)。但是,客户端可以(异常地)终止(由于各种原因)而不调用 Disconnect。在 receiveTimeout 之后过期,服务被中止。我需要以一种允许我正确清理 session 的方式来处理这个问题。我怎样才能做到这一点?

有我可以处理的事件吗?我可以用它实现和自定义服务的接口(interface)?我已经看过了,但没有找到任何东西。 IErrorHandler对超时没有帮助。

我想到了每次调用服务时都会重置服务的计时器。当计时器过去时,客户端被认为已断开连接,服务可以清理 session 。这合适吗? (此间隔应始终小于绑定(bind)的 receiveTimeout。)

最佳答案

根据 http://msdn.microsoft.com/en-us/library/ff183865.aspx ,默认情况下,WCF session 在 10 分钟后或接收超时指定的任何时间后超时。如果您的服务类实现了 IDisposable,我相信此时应该调用 Dispose(),这将为您提供第二次/最后一次清理任何未完成资源的机会。

关于wcf - 处理 WCF 服务中的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21406345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com