2012-05-04 37 views

回答

3

WorkerRole.cs的目標是爲您提供一個入口點,以便在Worker Role實例啓動時執行「something」。這可能是一個你開始的命令行應用程序,或者一個WCF服務,或MySQL,......任何你想要的。

請注意,您需要編寫代碼以保持實例處於活動狀態。如果你不這樣做,它將在Run方法完成時重新啓動。看看以下問題以瞭解更多信息:Using Thread.Sleep or Timer in Azure worker role in .NET?

+0

要擴大一點,我建議你花一點時間學習RoleEntryPoint類。這是從Defrag WorkerRole.cs文件中繼承的。我在一段時間後寫了一篇博客文章:http://brentdacodemonkey.wordpress.com/2011/09/24/leveraging-the-roleentrypoint-year-of-azure-week-12/ – BrentDaCodeMonkey

1

這裏是東西,你可以用它來了解Windows Azure的Worker角色:

  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基類,它擴展所需的所有功能的web和輔助角色當您使用一個Web或輔助角色中的Windows Azure環境

  6. 運行導出, Azure SDK模板,您將獲得這些基本代碼文件,Web和Worker角色類可以實現所需的功能。對於工作者角色,WorkerRole.cs中定義的調用WorkerRole以及Web角色中的WebRole.cs。

  7. 如果您決定添加特定於Windows Azure Runtime的代碼(即配置或您要在此處添加的某些設置,因爲當角色將通過主機進程啓動時,您在WebRole.cs或WorkerRole.cs中添加的代碼將會在Windows Azure運行時上下文中執行。

相關問題