"Thread was being aborted" 执行 Hangfire 作业时出现异常
"Thread was being aborted" exception raised in excuting Hangfire job
我有一个 Hangfire(使用 SqlServer 进行持久化)作业,它从数据库中查询一些数据。然后用这些数据生成一个带有NPOI的Excel,并通过Email发送给用户。
数据不大,大概1000行。所以作业在几秒钟内执行。但是,在生成 Excel 或发送邮件时出现 "Thread was being aborted" 异常。
我想有类似超时的东西,它会杀死线程。
有没有人有同样的问题?有什么解决办法吗?
好的。其实我在这里犯了一个愚蠢的错误。
在生成 Excel 之前,我有一个模板。模板将首先复制到 HttpRuntime.BinDirectory
(我试图避免资源冲突)。
这 HttpRuntime.BinDirectory
是导致线程中止的根本原因。
当网站bin文件夹有任何变化时,IIS会更新AppDomain(或ApplicationPool?)。这将中止当前 运行 个线程。
我有一个 Hangfire(使用 SqlServer 进行持久化)作业,它从数据库中查询一些数据。然后用这些数据生成一个带有NPOI的Excel,并通过Email发送给用户。
数据不大,大概1000行。所以作业在几秒钟内执行。但是,在生成 Excel 或发送邮件时出现 "Thread was being aborted" 异常。
我想有类似超时的东西,它会杀死线程。 有没有人有同样的问题?有什么解决办法吗?
好的。其实我在这里犯了一个愚蠢的错误。
在生成 Excel 之前,我有一个模板。模板将首先复制到 HttpRuntime.BinDirectory
(我试图避免资源冲突)。
这 HttpRuntime.BinDirectory
是导致线程中止的根本原因。
当网站bin文件夹有任何变化时,IIS会更新AppDomain(或ApplicationPool?)。这将中止当前 运行 个线程。