.net 在Azure Web App中部署应用程序时,无法使用HiqPDF生成PDF

.net 在Azure Web App中部署应用程序时,无法使用HiqPDF生成PDF,.net,asp.net-mvc,azure,azure-web-app-service,hiqpdf,.net,Asp.net Mvc,Azure,Azure Web App Service,Hiqpdf,我创建了一个ASP.NET MVC应用程序(.NET Framework 4.6.2),并使用HiqPDF(版本-10.17.0)从HTML生成PDF 代码如下: public static string ConvertHtmlToPdf(string pdfContentFilePath, string pdfOutputPath) { try { string fileName = pdfOutputPath + DateTime.No

我创建了一个ASP.NET MVC应用程序(.NET Framework 4.6.2),并使用HiqPDF(版本-10.17.0)从HTML生成PDF

代码如下:

public static string ConvertHtmlToPdf(string pdfContentFilePath, string pdfOutputPath)
{            
    try
    {
        string fileName = pdfOutputPath + DateTime.Now.ToString("ddMMyyyyHHmmssf") + ".pdf";
        string pdfContents = System.IO.File.ReadAllText(pdfContentFilePath);

        HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
        htmlToPdfConverter.TrimToBrowserWidth = true;

        PdfDocument pdfDocumentObject = htmlToPdfConverter.ConvertHtmlToPdfDocument(pdfContents, null);
        pdfDocumentObject.WriteToFile(fileName);

        return fileName;
    }
    catch(Exception ex)
    {
        throw ex;
    }
}
我正在尝试一个非常基本的HTML(只有一个粗体文本,没有图像,没有其他格式)

此代码在本地环境中运行良好,并成功生成PDF。但是,当我在Azure上部署此项目时,出现以下错误:

“导航超时”

我尝试了“HtmlToPdf”类的各种其他方法,但得到了相同的错误

有人能提出原因是什么,以及如何解决这个问题吗


非常感谢您提供的任何帮助。

大多数HTML到PDF库都被阻止在中

所有Azure Web应用程序(以及移动应用程序/服务、Web作业和功能)都在称为沙箱的安全环境中运行。每个应用程序都在自己的沙箱中运行,将其执行与同一台机器上的其他实例隔离开来,并提供了额外的安全性和隐私性,否则将无法使用。沙盒机制旨在确保在机器上运行的每个应用程序都具有最低保证服务水平;此外,沙盒强制执行的运行时限制保护应用程序不受可能在同一台机器上运行的其他资源密集型应用程序的不利影响

[……]

有多个库用于将HTML转换为PDF。许多Windows/.NET特定版本利用IE API,因此广泛利用User32/GDI32。这些API在很大程度上被阻塞在沙箱中(无论计划如何),因此这些框架在沙箱中无法工作


有些框架没有广泛利用User32/GDI32(例如wkhtmltopdf),我们正在以与启用SQL Reporting相同的方式使用Basic+启用这些框架。

感谢您澄清为什么不支持它。希望能和其他图书馆一起解决这个问题。在此之前,我们需要在应用程序中关闭此功能。再次感谢。是否可以在Basic+中启用此功能之前提供暂定时间表?目前,我们的Azure迁移几乎因此被阻止,我们正计划将其转换为SSRS报告,考虑到我们的代码库,这将需要付出巨大的努力。在这一阶段,你方提供的信息将有助于我们做出正确的决定。很抱歉,我不能在公共论坛上对路线图日期发表评论。我的建议是联系您的Microsoft客户团队,因为他们可能会根据NDA为您提供路线图。这也可能对您有用。