gpt4 book ai didi

wcf - 在WCF中处理线程异常

转载 作者:行者123 更新时间:2023-12-03 13:01:45 26 4
gpt4 key购买 nike

我们的WCF服务偶尔会产生一个工作线程来处理客户端不关心的事情。工作线程不会向客户端报告任何状态。实际上,在线程完成时,服务可能已经将结果返回给客户端。

这些后台线程之一最近引起了异常。异常未得到处理,因此IIS崩溃了。

我可以解决此特定异常,但是将来,有人可能会添加一些导致另一个意外异常的代码。我想防止这种情况在将来使IIS崩溃。

我知道System.Windows.Forms应用程序可以通过实现Application.ThreadException来处理线程异常。我可以通过WCF服务执行类似的操作吗?还是如果要使用Application.ThreadException,我如何将其从WCF服务中连接起来?
AppDomain.UnhandledException的MSDN文档说,它不能防止崩溃。 ServiceModel.AsynchronousThreadExceptionHandler的文档表明,它仅适用于WCF线程。

至少,我希望在崩溃之前从异常中获取堆栈跟踪,但最好完全避免将来发生崩溃。

再次强调一下,这并不是我想作为WCF错误返回给客户端的异常。

最佳答案

由于您不知道导致异常的原因,因此唯一明智的选择是崩溃。您不知道服务处于什么状态,并且继续下去可能会使情况变得更糟。

请记住,IIS将为您重新启动服务,使其清洁并正常工作。

关于wcf - 在WCF中处理线程异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1110608/

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