Azure App服务VS WebJob

时间:2017-09-14 07:36:30

标签: azure azure-web-app-service webjob

我对单独使用应用服务和使用网络作业的应用服务之间的差异感到困惑。

我有一个计算密集的任务(2-20分钟),必须手动触发(用户不时要求)。现在一切都发生在一个应用服务中。我正在考虑将这个繁重的流程提取到另一个应用服务中的webjob。这个新的应用服务将是空的(没有api服务)但是主持这个web作业,我将从第一个应用程序服务触发。

我很困扰第二个应用服务将是空的。 我可以使用第二个应用程序服务来完成工作而不使用webjobs(只是WebApi项目)吗?或者我应该坚持使用webjobs?这两种方法的优点和缺点是什么?

1 个答案:

答案 0 :(得分:2)

在我看来,我们不应该比较网络API和网络工作。因为这两件事用于不同的环境。

网络直播功能:

  • 可以将Web作业配置为手动触发或在a上运行 时间表。

  • Web作业可以配置为连续运行(也就是一直运行)

  • 可以根据其他Azure服务中的事件将Web作业设置为触发,例如添加到存储队列或服务总线队列或主题的新消息
  • Web作业可以长时间运行
  • 网络工作可以短时间运行
  • Web作业可以用任何语言实现为命令行可执行文件或脚本

可以实施Azure Web作业以满足任何后台处理需求。

因此,如果您想使用后台处理,并且不想将响应返回给任何其他应用程序。我建议你可以选择webjobs。

web api很容易为客户构建HTTP服务以获得响应。

因此,这用于与他人互动。所以如果你想得到结果并在任何其他地方使用。你可以选择web api。

网络API功能:

  • 属性路由
  • CORS - 跨源资源共享
  • OWIN(Open Web Interface for .NET)自托管
  • Web API OData ...

总而言之,如果计算不会与其他人交互(将结果返回给客户),我建议你可以选择网络工作。