发布后缓慢的SelectPDF转换



我想将html代码转换为pdf,所以我使用SelectPDF库,所以我的代码是:

var converter = new HtmlToPdf();

var today = DateTime.UtcNow;
var fileName = $"test - {today}";
var doc = converter.ConvertHtmlString(html);
using var ms = new MemoryStream();
ms.Position = 0;
doc.Save(ms);
var res = ms.ToArray();
doc.Close();
return File(res, "application/pdf", fileName);

我用localhost测试了,一切都很好,总是做一个快速的转换(不超过5秒)。

问题开始时,我在服务器上发布,方法执行后,有时(不总是)它返回一个错误500

Failed to load resource: the server responded with a status of 500 ()
Message: "Conversion error: Navigation timeout."

是一种方法总是得到一个快速的结果?我知道我可以将加载时间扩展为:

converter.Options.MaxPageLoadTime = 120;

但是我想快速转换,2分钟的HTML到pdf转换太长了

如果它在本地工作,并且您在服务器上有时会超时,很可能您的Html包含一个文件引用(例如javascript, css或image),该文件引用当时对服务器不可用。

确保你的html中的外部引用总是可以被你的服务器访问。

最新更新