执行Hangfire工作时引发“线程被中止”异常

时间:2018-08-21 01:58:05

标签: hangfire threadabortexception

我有一个Hangfire(使用SqlServer进行持久化)作业,该作业从数据库查询一些数据。然后使用这些数据生成带有NPOI的Excel,然后通过电子邮件将其发送给用户。

数据不是很大,只有1,000行。因此,作业将在几秒钟内执行。但是,生成Excel或发送邮件时,出现“线程被中止”异常。

我猜想像Timeout这样的东西会杀死线程。 有人有同样的问题吗?有解决方案吗?

1 个答案:

答案 0 :(得分:0)

好的。实际上,我在这里犯了一个愚蠢的错误。 在生成Excel之前,我有一个模板。模板将首先复制到HttpRuntime.BinDirectory(我正在努力避免资源冲突)。 HttpRuntime.BinDirectory是导致线程中止的根本原因。

当网站bin文件夹中有任何更改时,IIS将续订AppDomain(或ApplicationPool?)。这将中止当前正在运行的线程。