gpt4 book ai didi

c# - WCF 捕获异步异常

转载 作者:行者123 更新时间:2023-11-30 18:42:24 25 4
gpt4 key购买 nike

我有一种情况正在寻求建议。

我有一个 WCF 服务,在其中的一些方法中,我创建了一个对象,该对象又建立了到服务器的套接字连接。我将这些连接对象“缓存”在对我的服务类来说是“全局”的字典对象中。一旦建立了这些连接,就会有一个与它们中的每一个相关联的计时器,并且计时器回调会定期向服务器发送一条保持事件消息。

如果服务器连接因某种原因中断,问题就会出现。当发生这种情况时,我得到一个似乎终止 WCF 服务的未处理异常。

我希望有一种方法可以捕获这些与计时器相关的异常并简单地关闭套接字并从缓存中删除连接对象,但我不确定是否有一种方法。似乎一旦我离开使用连接对象的方法,就没有什么可以捕获异步异常了。

最佳答案

您需要开发某种连接管理器,用于保存和监视每个连接的状态。保持事件计时器非常适合状态跟踪,但您仍然需要在使用前检查连接是否有效。

在任何情况下,使用故障连接时出现异常不应导致 WCF 服务出现未经处理的异常,您应该将对连接管理器的访问包装在 try-catch 子句中。

干杯,

吉拉德

关于c# - WCF 捕获异步异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783008/

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