【问题标题】:"Thread was being aborted" exception raised in excuting Hangfire job执行 Hangfire 作业时引发“线程被中止”异常
【发布时间】:2019-01-27 03:58:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: hangfire threadabortexception


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      相关资源
      最近更新 更多