gpt4 book ai didi

c# - Rotativa ActionAsPdf() 非常慢

转载 作者:行者123 更新时间:2023-11-30 17:41:31 32 4
gpt4 key购买 nike

使用 Rotativa 1.6.4来自 NuGet,并使用下面的代码注意到以下问题。

ActionAsPdf 随机挂起不确定的时间量。

下面的代码挂了:

   var pdfResult = new ActionAsPdf("Report", new {id = Request.Params["id"]})
{
Cookies = cookieCollection,
FormsAuthenticationCookieName = FormsAuthentication.FormsCookieName,
CustomSwitches = "--load-error-handling ignore"
};

可能有帮助的背景信息:

customSwitches 用于忽略使用 ActionAsPdf 调用 wkhtmltopdf.exe 的已记录问题,但它不会仅在 wkhtmltopdf 调用中抑制代码中的错误。

观察、使用和测试:

它可以工作,但是在运行应用程序时(无论是否单步执行代码),从点击 pdfResult = new ActionAsPdf 到最终进入被调用的“报告”操作之间的时间可能在 10 秒到大约 4 分钟之间。无法辨别 Visual Studio 的输出窗口中实际发生的任何事情,我发现没有抛出任何错误。只是随机缓慢地过渡到 Reports() 操作。

我可以直接通过 URL 运行 Reports() 操作,它永远不会像这样变慢,而且生成 PDF 的速度非常快。我正在使用 ActionAsPdf 运行它以获取二进制文件以保存到文件系统并通过电子邮件发送,这是该库的规定方法。

该行为存在于本地 Windows 10 开发箱和远程 Server 2008R2 测试箱中。两个盒子上的 .Net 4.5.1,每个盒子上的默认 IIS。

我的问题:

关于可能导致这种速度减慢的原因以及如何补救它的任何想法?

最佳答案

我最终使用 UrlAsPdf() 而不是 ActionAsPdf() 并且它有效。似乎 ActionAsPdf() 可能存在一些问题,我已经在 GitHub 上提交了一个关于 Rotative 项目的错误。 ActionAsPdf() 仍标记为测试版,因此希望它在未来的版本中或由社区修复。

关于c# - Rotativa ActionAsPdf() 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32854225/

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