【问题标题】:Run DLL on Azure Cloud Service在 Azure 云服务上运行 DLL
【发布时间】:2016-01-16 09:07:00
【问题描述】:

我在 Azure 网站上做了很多工作,但没有在云服务上工作过。我需要启动一个使用第三方 dll 生成 pdf (http://wkhtmltopdf.org/) 的云服务。但是,我想用 nodejs 编写这个服务器,几乎所有的例子都在 asp.net 中。当请求进来时,我只需要知道如何从 Azure Web 角色中的节点 js 引用和执行这个 dll(或 exe,如果这更容易的话)。我将非常感谢任何指针。

谢谢, 山姆

编辑: 这不一定是引用或使用我将遇到问题的代码中的 dll 的问题。这是在 Azure Web 角色上安装 dll 的方法。您在 Azure 云服务/Web 角色中所能做的就是上传项目包,但没有说明如何添加 dll 或 exe(除了在 asp.net 中,我没有使用它。我正在使用 nodejs)。

【问题讨论】:

    标签: node.js azure dll cloud webrole


    【解决方案1】:

    您可以将安装程序放在您的 Web 角色包中,并在 ServiceDefinition.csdef 文件中为角色设置启动任务。 这是官网Install .NET on a Cloud Service Role上的示例,指导在云服务中安装.NET,步骤和场景应该是一样的。

    【讨论】:

    • 谢谢加里。将此标记为答案。但是,我应该注意,使用 wkhtmltopdf 脚本会在安装行冻结。我发现我只需要提取安装程序,然后我根本不需要在服务器上安装它。我只是将内容放在服务器文件夹中并使用节点子进程执行 exe。无论哪种方式,如果您确实需要安装某些东西,这个答案绝对是您的选择。
    【解决方案2】:

    wkhtmltopdf 有很多包装器。 This one is nice and pipable(您可以将输出直接流式传输到您的客户端):

    var wkhtmltopdf = require('wkhtmltopdf');
    
    // URL 
    wkhtmltopdf('http://google.com/', { pageSize: 'letter' })
      .pipe(fs.createWriteStream('out.pdf'));
    
    // HTML 
    wkhtmltopdf('<h1>Test</h1><p>Hello world</p>')
      .pipe(res);
    

    当然要先安装wkhtmltopdf(命令行工具)。

    【讨论】:

    • 我已经知道这个库了。这在 Azure 网站上不起作用,因为您一开始就无法安装命令行工具。我需要知道如何在 Azure 云服务(Web 角色)上安装命令行工具,因此我提出了问题。 :)
    • 是的,你的问题根本不是那个问题,因此它与 nodejs 无关:p 可以提供帮助的东西:simple-talk.com/cloud/platform-as-a-service/… 第二种技术(启动任务)应该工作得很好。跨度>
    • 谢谢。我会尝试一下,如果它有效,我会发布答案(或者如果你愿意,你也可以)。
    • 遗憾的是它不起作用。即使尝试在示例中安装默认的 ReportViewer.exe,也不会安装它。 :( 我知道,因为我登录了我的云服务,但它没有安装在系统上。
    【解决方案3】:

    假设 dll 是托管程序集(即使用 .net 编译的程序集),您可以使用 edge.js 让 NodeJS 与 dll 交互。

    如果是exe,可以通过NodeJS的异步进程创建API来执行进程。

    【讨论】:

    • 也许我没有很好地解释这个问题。这不一定是我将遇到问题的代码中引用或使用 dll 的问题。这是在 Azure Web 角色上安装 dll 的方法。您在 Azure 云服务/Web 角色中所能做的就是上传项目包,但没有说明如何添加 dll 或 exe(除了在 asp.net 中,我没有使用它。我正在使用 nodejs)。跨度>
    • 您可以将 dll 添加为项目包的一部分。
    • 这正是我想知道的。 :) 在 nodejs 项目中。
    • 这应该就像将 dll 复制到解决方案项目中一样简单,无论是在 Visual Studio 中还是其他方式中。
    猜你喜欢
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    相关资源
    最近更新 更多