gpt4 book ai didi

multithreading - 如何在WCF的主线程之外记录未处理的异常?

转载 作者:行者123 更新时间:2023-12-03 07:55:34 25 4
gpt4 key购买 nike

我在IIS中托管了WCF服务。该服务已经有一个实现IErrorHandler的类,其中我记录了在服务调用的上下文中引发的异常。问题是,当服务被调用时,它会产生一个新线程来执行其他处理。测试时,我发现在此线程中引发的任何异常都不会被我的错误处理程序捕获。那么,我还必须记录该异常的替代方法?有什么办法可以将AppDomain.UnhandledException插入某处吗?我没有被杀死的IIS进程的问题,我只是不想让错误不被注意。

更新:

目前,我所做的是将AppDomain.UnhandledException事件插入服务类的共享构造函数中。它似乎可行,但是我不确定这是否是更好的方法。

最佳答案

对于这种情况,我认为您受托管环境的约束。正如@ n​​p-hard所说,您将需要以某种方式处理后台作业中的错误。

您可能对此有点幻想-this是一篇很好的文章,介绍了如何处理在后台线程中引发的异常并将其移到前台,以便可以由标准Application_Error处理程序处理。您可以这样做,也可以直接处理它们,而不继续转发它们。

关于multithreading - 如何在WCF的主线程之外记录未处理的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8234891/

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