Asp.net Azure云服务工作者角色的用例是什么?

Asp.net Azure云服务工作者角色的用例是什么?,asp.net,azure,Asp.net,Azure,我是Microsoft Azure的新手,我并不真正了解云服务中的工作者角色。Web角色有点容易掌握:它们是运行IIS的vm,所以我不必自己管理它,所以当我部署到Web角色时,我将部署一些东西在IIS中运行 现在,工作人员角色每个人都说“它就像windows服务一样,在后台运行”,我不知道我需要它的时间和原因。直到今天,我才需要开发一个windows服务,所以也许正因为如此,我没有理解工人角色的意义 此外,我似乎有人在工作角色上部署WebAPI应用程序,但WebAPI是我在IIS上运行的,所以它

我是Microsoft Azure的新手,我并不真正了解云服务中的工作者角色。Web角色有点容易掌握:它们是运行IIS的vm,所以我不必自己管理它,所以当我部署到Web角色时,我将部署一些东西在IIS中运行

现在,工作人员角色每个人都说“它就像windows服务一样,在后台运行”,我不知道我需要它的时间和原因。直到今天,我才需要开发一个windows服务,所以也许正因为如此,我没有理解工人角色的意义

此外,我似乎有人在工作角色上部署WebAPI应用程序,但WebAPI是我在IIS上运行的,所以它看起来更像是web角色而不是工作角色


无论如何,azure工作者角色的实际用例是什么?我们应该什么时候使用它,为什么?it使用的常见示例有哪些?

工作者角色有很多用途


您可以使用它发送电子邮件,从azure服务总线队列中取出项目并对其进行处理,您可以自行托管webapi(您不需要IIS)。您可以在表格中插入项目…

正如@Thiago所说,有很多用途

以YouTube为例。您现在将如何实施它。。。你可能会在用户观看和上传视频时设置一个前端

视频上传后,您需要对其执行一些任务。将其转换为特定格式,查找版权资料,拍摄快照。。。或者不管是什么

您肯定不想在执行此操作时阻止用户,也不想在执行此操作时让用户打开浏览器。这时工人的角色开始发挥作用。。。不需要UI,也不依赖于用户的任何信息,您只需在那里运行所需的流程,并在视频准备就绪时通知用户。他还在吗?给他看徽章什么的,他把浏览器关了吗?给他发封电子邮件

这只是一个帮助我理解员工角色的例子。。。希望它对你也有帮助

  • Web角色-如果您计划在Azure中运行IIS
  • 工作者角色-如果要在没有IIS的情况下运行中间层应用程序
  • VM角色-如果您想在Azure中执行此操作,则超出了Web或工作者角色的范围
启动任务仅在Web或Worker角色中可用;VM角色无法管理启动任务。这是您使用Worke角色的原因之一

基本上,web角色必须能够服务HTTP内容;然而,工人的角色没有这样的限制

azure工作者角色的实际用例是什么?
  • 您可以运行启动任务,如控制台应用程序或批处理文件,以启动一个或多个Windows PowerShell脚本
  • 您可以安排许多在后台运行的维护过程,例如
    • 通过对数据库运行查询来检查孤立数据
    • 索引数据库
    • 从web角色发送的队列中提取消息
理想情况下,您希望web角色通过将工作项插入队列来延迟所有昂贵的事务/工作,并在工作人员角色中执行这些事务/工作,从而尽可能提高响应速度。

此外,我也看到有人在工作者角色上部署WebAPI应用程序,但是 WebAPI是我将在IIS上运行的东西,所以它看起来更像 喜欢web角色而不是工作角色

WebAPI可以在没有IIS的情况下使用OWIN自托管。如果您只想在没有文档的情况下托管WebAPI本身,那么可以通过将任务与工作者角色相结合来节省资金