- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 IronPDFs HTML to PDF 功能并行生成多个 PDF。但是当从 ASP.NET 启动时它似乎是死锁的 :(
我在这里重现了这个问题:https://github.com/snebjorn/ironpdf-threading-issue-aspnet
这是包含基本部分的片段。
调用 GetSequential()
作品。但不是并行执行。GetSimple()
并行运行但死锁。
public class TestController : Controller
{
[HttpGet]
[Route("simple")]
public async Task<IActionResult> GetSimple()
{
var tasks = Enumerable
.Range(1, 10)
.Select(i => HtmlToDocumentAsync("hello", i));
var pdfs = await Task.WhenAll(tasks);
using var pdf = PdfDocument.Merge(pdfs);
pdf.SaveAs("output.pdf");
return Ok();
}
[HttpGet]
[Route("seq")]
public async Task<IActionResult> GetSequential()
{
var pdfs = new List<PdfDocument>();
foreach (var i in Enumerable.Range(1, 10))
{
pdfs.Add(await HtmlToDocumentAsync("hello", i));
}
using var pdf = PdfDocument.Merge(pdfs);
pdf.SaveAs("output.pdf");
return Ok();
}
private async Task<PdfDocument> HtmlToDocumentAsync(string html, int i)
{
using var renderer = new HtmlToPdf();
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
return pdf;
}
}
根据
https://medium.com/rubrikkgroup/understanding-async-avoiding-deadlocks-e41f8f2c6f5d这是因为执行 Controller 方法的线程不是主线程。所以它只是被添加到线程池中,并且在某些时候我们正在等待 Controller 线程继续,但它没有被重新安排。当我们混合时会发生这种情况
async/await
与
.Wait/.Result
.
.Wait/.Result
是否正确?
IronPDF.Threading
内部发生的调用包裹?
最佳答案
只是想补充一点,IronPdf 对 MVC Web 应用程序的多线程支持是不存在的。如果您在 HTTP 请求的上下文中呈现,您将最终陷入无限期的死锁。
我们一直 promise 更新渲染器将解决该问题(我们被告知应该在 2021 年 6 月/7 月发布),但似乎已被推迟。我使用他们的“早期访问包”测试了更新的渲染器,死锁已被 10 秒线程块和看似随机的 C++ 异常所取代,因此远未得到修复。单线程的性能更好。
Darren 的回复是不正确的 - 我已经无数次尝试通过我们的渲染调用来解决这个问题,并且死锁出现在 HtmlToPdf.StaticRenderHtmlAsPdf
上。打电话,不是在 PdfDocument.Merge
称呼。这是线程问题。
如果您还没有购买他们的产品,我建议避免使用 IronPdf。寻找另一个解决方案。
关于c# - 并行运行时 IronPDF 死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65237160/
我们正在使用 ironPDF 将我们的文档转换为 PDF,它运行良好,并且在本地主机中将我们的文档(HTML)无缝转换为 PDF,在确认一切后,我们购买了 1 年的许可证并将代码上传到生产。 一旦我们
我尝试使用IronPdf打印pdf文件来自 html 但结果留下了边框。有没有办法在我的 PrintDocument 中设置“适合页面”? 这是我的代码: public static
我正在尝试使用 IronPDFs HTML to PDF 功能并行生成多个 PDF。但是当从 ASP.NET 启动时它似乎是死锁的 :( 我在这里重现了这个问题:https://github.com/
我使用的是 Visual Studio、C# 和 IronPDF,安装正常。 示例 PDF 工作 IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf(
我想使用 IronPdf 生成一个带有签名图像的数字签名 pdf库,但我遇到了以下问题: 虽然对 pdf 进行了数字签名,但签名的图像似乎并未呈现/出现在生成的 pdf 中。 以上代码(我正在控制台应
在 C# 中,我使用 IronPDF 从 MYSQL 数据库中的数据创建 PDF。对于布局,我使用表格并使用单独的 CSS 文件进行设计。 当我在dreamweaver 或浏览器中尝试生成的HTML
我们正在使用 IronPDF 从我们生成的一些 HTML 生成 PDF 文件。 此文档将包含未知页数。除了在底部显示页码外,我们可能可以使用 {page}`-placeholder 来修复它。 , 我
我正在使用 IronPDF 作为 PDF 渲染引擎编写的 Azure Web 应用程序中成功生成 PDF 文档。该用例是用 C# 生成财务报表和发票的 PDF,作为更广泛的封闭式业务应用程序的一部分。
我想使用 IronPdf 转换 ASP .NET 元素中的 html 页面 这是我给 IronPdf 的 HTML:
基于与此相关的许多SO问题,Azure应用程序服务或Funtion应用程序似乎不支持System.Drawing.Common。 但是,IronPDF 文档建议它应该可以在 Azure 上的任何位置工
尝试从 Nuget Package IronPDF 调用方法时,我遇到了一个非常奇怪的问题。 根据这些症状以及我在互联网上找不到遇到此问题的其他人的事实,我假设这不是包裹的错。 基本上,每当我在控制台
我有一个使用 docker(Debian GNU/Linux)配置的 .net core 2.1 项目。我正在使用 PDF.Core 5.2.0。 当它上 RenderHtmlAsPdf下面代码中的方
我正在尝试让 IronPDF 参与我的 ASP.NET Core 3.1 应用服务部署。我没有使用 Azure Functions 来实现这些目的,而只是使用 Azure 应用服务上的常规端点 - 当
我正在尝试让 IronPDF 参与我的 ASP.NET Core 3.1 应用服务部署。我没有使用 Azure Functions 来实现这些目的,而只是使用 Azure 应用服务上的常规端点 - 当
在我的示例中,我定义了一个带有超大屏幕和 2 列的简单页面,每列都有不同的标题和背景颜色。在浏览器中查看 HTML 模板时,您会看到 2 列布局和预期的 Jumbotron。当查看由 IronPdf
我正在尝试在 AWS lambda 上运行 IronPDF 的简单概念验证。代码部署良好,但在调用 IronPDF 时无法解压缩 Chromium 呈现我的 PDF 所需的二进制文件。 IronPDF
我有一个 Azure(持久)函数,它使用新的运行时版本 3,该函数应该使用 IronPDF 从 URL 生成 PDF。该函数不断失败,记录到 Insights 的唯一错误如下: Exception:
我有一个 Azure(持久)函数,它使用新的运行时版本 3,该函数应该使用 IronPDF 从 URL 生成 PDF。该函数不断失败,记录到 Insights 的唯一错误如下: Exception:
我在 Azure Web 应用程序上使用ironpdf 从 html 生成 PDF 时遇到问题。 这是我得到的异常: Exception details: Error while deploying
我正在尝试将 HTML 页面转换为 pdf。 Html 页面包含带有 svg 图像的 css、js 代码。我用了wkhtmltopdf , iTextSharp和 IronPdf dll 将确切的 h
我是一名优秀的程序员,十分优秀!