C# 如何在Azure中每月运行一次控制台应用程序

C# 如何在Azure中每月运行一次控制台应用程序,c#,azure,console-application,C#,Azure,Console Application,我创建了一个需要每月运行一次的C#控制台应用程序。我工作的公司使用Azure,所以我想使用Azure服务来运行应用程序。但我很难找到适合这份工作的服务。我看过Logic应用程序,但不确定这是否是正确的解决方案 有人知道Azure服务每月可以运行一次C#控制台应用程序吗?不知道你的控制台应用程序有多复杂,我想它只是启动并执行一项简单的任务。这就是功能应用程序的用途。它们由单个功能组成,可以按计划运行,也可以由系统事件触发。 以下是MS Docu关于如何按计划运行它的介绍: 它不会直接回答你的问题(

我创建了一个需要每月运行一次的C#控制台应用程序。我工作的公司使用Azure,所以我想使用Azure服务来运行应用程序。但我很难找到适合这份工作的服务。我看过Logic应用程序,但不确定这是否是正确的解决方案


有人知道Azure服务每月可以运行一次C#控制台应用程序吗?

不知道你的控制台应用程序有多复杂,我想它只是启动并执行一项简单的任务。这就是功能应用程序的用途。它们由单个功能组成,可以按计划运行,也可以由系统事件触发。 以下是MS Docu关于如何按计划运行它的介绍:

它不会直接回答你的问题(如何运行控制台应用程序),但如果你问的是Azure,我会说这是一个很好的Azure方式来实现你想要的,而且离纯控制台应用程序也不远。Azure将关心启动它和环境。 功能应用程序也可以像cosole应用程序一样在本地运行进行测试。

您可以使用满足这些需求


它还允许您直接在Premiss上运行计划任务。

Function app无疑是一个更好、更灵活的解决方案。 您可以使用函数应用程序运行控制台应用程序(与此相关的任何exe)。 请检查这个。它使用HTTP触发器启动执行,但在您的情况下,可以使用计时器触发器


如果要跳过从外部位置下载二进制文件的过程,甚至可以将exe文件复制到function app文件夹中。步骤是

我没有使用它,但是Azure调度程序是否会执行类似的操作?hmmm调度程序?或者逻辑应用我猜也可以,控制台应用需要一个虚拟机来运行。Lambdas/函数,不要。您可以将调度程序或逻辑应用程序与Lambda一起使用,而不必为VM付费。如果你确实为虚拟机付费,你可以使用操作系统的作业调度程序(Linux中的cron)在虚拟机上创建一个调度作业,Windows中的调度任务似乎是这样。当我阅读有关逻辑应用程序的文章时,似乎不可能运行应用程序,只能调用端点或类似的东西。这是真的吗?我真的不知道你在这里说lambda是什么意思。谢谢你的回答,不幸的是控制台应用程序非常复杂。我看过函数应用程序,但没想到它会起作用,因为应用程序很复杂。好吧,这是由你来决定的:)只是想一想:基本上,你可以将大量代码打包到函数应用程序中,你不必在一个“函数”符号中编写它。只是调用了一个函数,有点像控制台应用程序中的Main。您可以在功能应用程序中使用软件包和DLL,访问其他Azure服务(如KeyVault)等。现在VS支持此功能,因此它实际上是一个独立的项目。其思想是:在必要时调用函数以完成特定任务。如果考虑到这一点的话,它也比在Azure中运行VM或Web应用程序便宜。因此,要明确的是,有了Azure Automation,我将不得不每月上传一个应用程序并在VM上运行它?如果这是真的,那么这正是我所需要的!对您需要运行Runbook(用于启动应用程序或整个VM的PS脚本,等等)。您甚至可以将您的应用程序本地安装在prem或云VM上,为此需要配置Hypred Worker。基本上,它是一个脚本和调度程序,有点像Linux机器上的cron,但在Azure云中。它可以用于各种任务。诀窍在于如何使用它,因为您可以在云中或本地运行Runbook(脚本)。我建议您阅读更多关于自动化帐户的白纸。一旦你明白了你将在你的每一个自动化任务中使用它。如果你觉得我的答案有用,请把它标记为最佳。非常感谢。例如,谢谢你的回答!你试过了吗,因为它从第二个链接读到的是,它是实验性的。这两个选项都只是一个“黑客”让它工作,直到你把代码移植到一个函数应用程序。我们使用了第一个选项,但根据您的环境,可能允许也可能不允许从共享/云存储获取exe文件。因此提出了备选方案。问题是,应用程序非常大和复杂,也许第二个方案就是答案