相关疑难解决方法(0)

如何知道谁杀了我的线程

我有一个只是放逐的线程..我想知道是谁杀了我的线程,为什么.

它发生在我身上我的线程被操作系统杀死,但我想确认一下,如果可能的话就知道它为什么要杀了它.

至于线程,我可以断言它在死亡前至少有40分钟的执行时间,但它突然在5分钟内死亡.

public void RunWorker()
{
    Thread worker = new Thread(delegate()
    {
        try
        {
            DoSomethingForALongLongTime();
        }
        catch(Exception e)
        {
           //Nothing is never logged :(
           LogException(e);
           throw e;
        }
    });

    worker.IsBackground = true;
    worker.SetApartmentState(System.Threading.ApartmentState.STA);
    worker.Start();
}
Run Code Online (Sandbox Code Playgroud)

编辑:寻址答案

  • 尝试/捕获可能的例外:
    它已实施,它没有捕获:(
  • 主线程死亡:
    此线程由Web服务器创建,该服务器继续运行
  • 工作完成:
    工作没有完成,因为它最终会影响数据库,我可以在线程死亡时检查它是否已完成.

想到这些事情就把我带到了这个问题,谁杀了我的线程?

PS.用蜡烛棒在客厅里不是Lady Goldent :)

.net c# asp.net multithreading iis-5

28
推荐指数
3
解决办法
5066
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

iis-5 ×1

multithreading ×1