Asp.net - 如何知道线程何时消亡

时间:2017-01-20 21:08:43

标签: c# asp.net multithreading long-running-processes

我正在Asp.net中构建一个Web应用程序。我有长时间运行的任务,可能会或可能不会完成,因为IIS往往会杀死长时间运行的任务。

问题?不。我使用quartz来定期重启死亡的任务(因为更改会保存在数据库中,所以我们需要做的就是重新启动线程)。

但是现在我正在尝试构建我的Web应用程序来支持扩展。我想运行多个实例。

因此,为了处理我长时间运行的任务,我正在考虑在我的数据库中添加一列来记录哪个实例已“检出”给定任务。但是,我需要知道线程什么时候死掉,这样才能确保它已经“检入”。

那么如何检查线程何时死亡?

1 个答案:

答案 0 :(得分:0)

IIS不会杀死线程,它会杀死AppDomains。我知道的唯一方法就是让它在运行时将一个条目写为心跳信号。如果心跳停止,线程就会死亡。