Rotativa 在 Azure 中的服务结构节点上崩溃

Rotativa crashes on service fabric node in Azure

我有一个项目需要收集多个数据并将其放入一个 pdf 中,为此我使用了 Rotativa 包装器。它在我的本地服务结构集群上运行良好,我能够使用 ViewAsPdf 生成 pdf,然后获取字节数组以将其附加到电子邮件中。当我在 Azure(服务结构集群)中部署项目并且我收到此错误时,问题就来了:

at Rotativa.AspNetCore.WkhtmlDriver.Convert(String wkhtmlPath, String switches, String html, String wkhtmlExe)\r\n at Rotativa.AspNetCore.WkhtmltopdfDriver.ConvertHtml(String wkhtmltopdfPath, String switches, String html)\r\n at Rotativa.AspNetCore.ViewAsPdf.<CallTheDriver>d__19.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---

我尝试过的事情:

Service Fabric 节点是 Windows 机器。项目使用aspnet core 2.0构建 任何帮助将不胜感激。谢谢!

作为解决方法,您可以创建一个 container 到 运行 这个。它会为您省去进入节点安装东西的麻烦,这会限制您的横向扩展和故障转移选项。

some people who got it working.

我假设是缺少依赖项问题。

根据您提供的场景和消息The application was unable to start correctly(0xc000007b)还有其他相关问题: The application was unable to start correctly (0xc000007b) and Error : the application was unable to start correctly

另一个问题可能是缺少 运行 或访问特定依赖项的权限。

我建议你试试:

  • 运行首先通过命令行以管理员身份运行。
  • 检查防火墙或network\website权限
  • 使用 dependency walker 并检查它的依赖项 loads\fail 并验证它们是否安装在服务器上。