2017-09-14 68 views
1

我对使用应用服务和应用服务与web作业之间的差异存在困惑。Azure应用服务VS Web工作

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

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

+0

我认为你正在寻找词microweb服务看看它可能会帮助你@Dmitry –

+0

这个想法没有错,但你也可以检查Azure函数。取决于“计算密集型”的含义,但它可能是一个不错的选择。尽管如果你已经有了WebJobs,那么坚持下去可能会更容易一些。 –

+0

我阅读了关于天青功能 - 他们不会工作,因为他们对他们的持续时间有限制 - 不超过5分钟 – Dmitry

回答

0

在我看来,我们不应该比较web api和web jobs。因为这两件事用于不同的环境。

的webjobs功能:

  • 网上工作可以被配置为手动触发或在 时间表运行。

  • 网上工作可以被配置为连续运行(又名不停地运转,所有的时间)

  • 网上工作可以设置基于其他Azure服务,事件被触发,如一个新的传递消息加入到存储队列或服务巴斯队列或主题
  • 网上工作可以长期运行
  • 网上工作可以短期运行
  • 网上工作可以用任何语言来实现为一个可执行命令行或脚本

可以实现Azure Web Jobs以满足任何后台处理需求。

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

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

所以这是用来与他人互动。所以如果你想得到结果并在其他地方使用。你可以选择web api。

的网页API功能:

  • 属性路由
  • CORS - 跨源资源共享
  • OWIN(开放的Web接口.NET)自托管
  • 的Web API的OData ...

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