WorkerRole.cs的目的是什么

时间:2012-05-04 10:19:25

标签: azure azure-worker-roles

您好我已经创建了一个具有辅助角色的新azure项目,并注意到了一个类WorkerRole.cs。我试着研究它的目的是什么但是我找不到直接的答案。

2 个答案:

答案 0 :(得分:3)

WorkerRole.cs的目标是为您提供一个入口点,以便在Worker Role实例启动时执行“某事”。这可能是您正在启动的命令行应用程序,或WCF服务或MySQL,......您想要的任何内容。

请注意,您需要编写代码以保持实例“活动”。如果不这样做,它将在Run方法完成时重新启动。请查看以下问题以获取更多信息:Using Thread.Sleep or Timer in Azure worker role in .NET?

答案 1 :(得分:1)

您可以使用以下内容来了解​​Windows Azure辅助角色:

  1. Windows Azure是平台即服务,您可以在专用虚拟机中运行您的应用程序(超小实例除外)
  2. Windows Azure应用程序的应用程序体系结构支持3种不同类型的应用程序,分别称为Web角色,工作者角色和VM角色,

    2.1。 Web角色被视为一个应用程序,其中IIS已预先配置并准备好应用程序。在大多数情况下,它是一个基于Web的应用程序,但如果您愿意,它可能不会,但IIS将始终存在。使用IIS,您可以运行ASP.NET应用程序或node.js应用程序,您可以选择它来决定您想要的应用程序类型。

    2.2。 Worker角色被认为是一个不需要IIS的应用程序,无论您希望在Worker角色,C#,Java,PHP,Python还是其他任何东西上运行,它都取决于您。它主要用于开源Web应用程序或作为后端执行操作但不需要Web前端的应用程序。

    2.3 VM角色位于BETA中,用于在用户部署的自定义VHD上运行。我们会考虑以下解释。

  3. 所有这些角色实际上都是一个库,意味着它们被编译为DLL,当它们在Windows Azure上运行时,它们实际上需要一个主机进程来运行。对于Web角色,主机进程是WaWebHost.exe或WaWebIIS.exe,对于WorkerRole,主机进程是WaWorkerHost.exe。

  4. 当这些主机进程在Windows Azure中启动时,它们会查找文件调用E:__ entrypoint.txt,它提供了角色DLL名称和位置,因此主机进程并查找并加载它。

  5. 这些Web和Worker角色类派生自RoleEntryPoint基类,它扩展了在Windows Azure环境中运行的Web和辅助角色的所有必需功能

  6. 使用Azure SDK模板创建Web或辅助角色时,您将获得这些基本代码文件,其中Web和辅助角色类可以实现所需的功能。对于Worker Role,调用WorkerRole在WorkerRole.cs中定义,对于Web Role,它是WebRole.cs。

  7. 如果您决定添加特定于Windows Azure Runtime的代码,即配置或某些设置,您将在此处添加,因为当角色将通过主机进程启动时,您在WebRole.cs或WorkerRole.cs中添加的代码将在Windows Azure运行时上下文中执行。