2013-03-28 83 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()'? –

相关问题