2013-03-28 135 views
1

我發現有關服務總線隊列的所有示例都是在Web角色發送消息並且有專門的工作角色接收消息的情況下。以網絡角色接收服務總線隊列消息

Mi情況不同。 worker角色是生成消息並且必須由web角色接收的角色。

我猜測Webrole的RoleEntryPoint在監聽新消息時應該有一個無限大的值,但接收到的消息必須由我的webrole中的組件處理,並且據我所知RoleEntryPoint不能從Web應用訪問。

任何想法?

回答

0

因爲它們都是Windows Server 2012 VM實例,所以發送或接收來自Web角色或工作角色的消息是完全沒有區別的。您可以啓動Run()方法中的線程,或從您想要的其他任何地方啓動線程。您甚至可以編寫單獨的控制檯應用程序來處理服務總線消息,甚至可以從運行在您自己的桌面上的應用程序接收它們。

只要將服務總線視爲服務即可在您的應用程序中使用,無論它們在何處(以及您使用的任何語言)。

+0

謝謝大衛,你的回答非常明確。我怎樣才能在Web角色中實現它?建議在global.asax中啓動一個單獨的線程來偵聽隊列?我不能使用RoleEntryPoint,因爲它運行在不同的進程中。 –

+0

嘿大衛,這樣說,你會建議啓動('Task.Run()')一個Web角色內部的無限循環或使用onMessage()'? –

相關問題