0

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

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

我猜有类似超时的东西,它会杀死线程。有没有人有同样的问题?有什么解决办法吗?

4

1 回答 1

1

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

当网站 bin 文件夹发生任何变化时,IIS 将更新 AppDomain(或 ApplicationPool?)。这将中止当前正在运行的线程。

于 2018-08-21T06:42:28.587 回答