繁体   English   中英

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 ---

我尝试过的事情:

  • 在服务结构节点(部署项目的地方)中以x64和x86版本安装了Visual Studio 2013和2015的Visual C ++可再发行组件包
    • 将Rotativa文件夹从wwwroot移到项目的根路径,并在RotativaConfiguration.Setup()方法中设置路径
    • 将msvcp120.dll和msvcr120.dll复制到Rotativa文件夹
    • 在服务结构节点中安装了wkhtmltopdf.exe
    • 我安装了Rotativa.AspNetCore 1.0.6 nuget包
    • 我使用ViewAsPdf渲染剃刀视图,并调用BuildFile方法获取字节数组
    • 如果我在服务结构节点的命令行中运行了wkhtmltopdf.exe,则会得到:“应用程序无法正确启动(0xc000007b),单击“确定”以关闭应用程序”

服务结构节点是Windows计算机。 该项目使用aspnet core 2.0构建。任何帮助将不胜感激。 谢谢!

我认为这是一个缺少的依存关系问题。

根据您提供的方案和消息The application was unable to start correctly(0xc000007b)还有其他相关问题: 应用程序无法正确启动(0xc000007b)错误:应用程序无法正确启动

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

我建议您尝试:

  • 首先通过命令行以管理员身份运行。
  • 检查防火墙或网络\\网站权限
  • 使用依赖项遍历器并检查其加载的依赖项\\失败,并验证它们是否已安装在服务器上。

作为解决方法,您可以创建一个容器来运行它。 这将避免您进入节点安装内容的麻烦,从而限制了横向扩展和故障转移选项。

有些人 使它起作用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM