【问题标题】:How to host a console application on Azure by uploading .exe file?如何通过上传 .exe 文件在 Azure 上托管控制台应用程序?
【发布时间】:2018-08-20 03:29:14
【问题描述】:

我在 Azure Web 应用服务上有一个 Web 应用程序 (ASP.NET MVC) 主机,并在本地有一个控制台应用程序 (C#) 作为 http 触发器。此 Azure Web 应用服务将在运行时调用 .exe 一次。他们这样跑得很好。
现在我想将 .exe 文件移动到 Azure 并从 Azure 应用服务调用它。但我只发现 Azure 函数应用程序执行一段使用 Azure 门户编写的代码。我是否有一种可能的解决方案,只需将此 exe 文件上传到 Azure 并可以由 Azure 应用服务调用?
提前致谢。

【问题讨论】:

    标签: asp.net azure


    【解决方案1】:

    当 Web 应用程序运行时,您似乎会将控制台应用程序称为 http 触发器。如果是这样,您可能需要将控制台应用程序作为 Azure 网络作业上传。

    您可以右键单击您的控制台应用并选择“发布为 Azure Webjobs”以将您的控制台应用发布到 Azure 上的 Web 应用。

    WebJobs 是 Azure 应用服务的一项功能,可让您在与 Web 应用相同的上下文中运行程序或脚本。

    有关部署网络作业的更多详细信息,您可以参考article

    另外,如果您使用的是控制台核心应用程序,您可以参考此blog 进行部署。

    【讨论】:

    • 很高兴看到这一点。您可以接受它作为结束此问题的答案。
    • 还有一个问题。我创建了一个 Azure webjob 并上传了 .exe 文件。我注意到有三种方法可以触发网络作业:手动、连续和按计划。有没有办法通过控制器或ASP.NET项目中的一段代码来调用webjob?
    • 根据您的描述,您可以在运行web应用时触发您的webjob,因此您可以选择continuously,它会一直运行,当您运行webapp时,它会立即触发。跨度>
    • 使用webapp控制无法调用webjob。它们是并行程序。
    • 没有。根据您的需求,您想运行 webapp 来触发 webjob。因此,您只需将 webjob 设置为 continuously。然后它会触发。Azure WebJobs 在 Web 应用的沙箱中运行。这意味着他们可以访问环境变量并与 Web 应用程序共享信息,例如连接字符串。该作业可以访问正在运行该作业的机器的唯一标识符。
    猜你喜欢
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    相关资源
    最近更新 更多