【问题标题】:Converting windows services to Azure Jobs将 Windows 服务转换为 Azure 作业
【发布时间】:2018-06-13 07:01:02
【问题描述】:

我想将我的 Windows 服务转换为 Azure Web 作业。目前我的 Windows 服务执行以下任务

  1. 它连接到数据库并获取数据(使用实体框架)
  2. 它使用 wkhtmltopdf exe 创建 PDF 并将其保存到文件夹中。
  3. 保存在文件夹中的 PDF 将通过电子邮件发送给客户

是否可以在 Azure Web 作业中实现上述任务?如果没有,还有其他替代方法可以做到这一点吗?

【问题讨论】:

  • 是的,可以在webjob中实现。首先,SQL Database access from a WebJob in Azure。其次,使用run.cmd 运行您想要的任何exe。三、use Sendgrid to send email.
  • 这个作业是怎么触发的?按时间表?一种可能的替代方法是创建一个容器并使用 Azure 容器实例。可能比使用您必须使用应用服务计划付费的网络工作便宜。

标签: azure pdf-generation azure-sql-database azure-storage azure-webjobs


【解决方案1】:

可能的,但很可能不是您当前的设置。

您遇到的问题不是运行 exe,而是 wkhtml2pdf.exe 本身特有的问题。该 exe 在 Windows 上使用一堆 GDI+ 调用来呈现 PDF,而这在 Azure 网站沙箱中是不允许的(GDI+ 调用,而不是运行 exe)。

更多详情:Process.Start in Azure Website

如果您使用不支持 GDI+ 的 PDF NuGet package,您就可以使用了。

编辑:
好吧,我错过了这个。就像@joey-cai 提到的文章(Azure websites and wkhtmltopdf )一样:

Azure Web 应用现在支持运行 wkhtmltopdf - 只需确保您使用的是基本、标准或高级应用服务计划。消费服务计划和免费应用服务计划的沙盒更有限,在我的测试中不受支持。 MS 确认 Azure Web Apps 中 wkhtmltopdf 的支持性。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多