gpt4 book ai didi

c# - MVC ControllerContext、线程/任务、Rotativa

转载 作者:行者123 更新时间:2023-11-30 18:23:02 24 4
gpt4 key购买 nike

Rotativa 1.6.4 不断在 Rotativa.dll 中发出 System.NullReferenceException

具体来说,它发生在 BuildPdf(context) 上

我尝试过 Thread、Task 和其他后台类型的作业。为什么?使用 ActionAsPdf(请参阅 Here),PDF 生成有时非常慢并且有错误,所以我想将它分拆到一个新的线程/任务或后台作业,并且只记录错误,这样我就可以让用户回到他们的路上尽快。

BuildPdf 采用当前的 Controller 上下文,它始终为 null 我已经尝试创建一个新的上下文,使用 httpcontext,创建一个新的 Controller 实例,所有这些都具有相同的结果。一旦它进入 Rotativa.dll,上下文就完全消失了,无论我是在成为线程/任务之前传入它,还是在我调用 BuildPdf() 之前创建一个新的;

如何在开始线程/任务作业之前或在线程/任务作业进入 Rotativa 后获取有效的 Controller 上下文?

在这一点上,我已经准备好在真正的 PDF 解决方案上花费真金白银,但到目前为止,它们似乎都是 PITA,即使您有最简单的 PDF child 需求,它们充其量也只是平庸。

最佳答案

您是否尝试改为创建 SynchronizationContext

这个库似乎是非线程安全的。

关于c# - MVC ControllerContext、线程/任务、Rotativa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32876042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com