我正在研究azure MVC4应用程序,我需要从servicebus读取消息,然后通过IIS(通过SignalR)更新在线用户。我想在Web角色中运行一些辅助角色类型的进程。寻找在Web角色本身处理servicebus的最佳实践。
答案 0 :(得分:0)
要在Web角色中运行“辅助角色”,您只需在Web项目中实现RoleEntryPoint,就像在Worker角色中一样。
请记住,此“后台”进程(WaIISHost.exe)完全独立于Web应用程序进程(w3wp.exe)运行。虽然this article非常陈旧,但它仍然非常清楚地表示您的Web角色中运行的流程。
您可以将“SignalR”托管在“辅助角色”中,而不是IIS。并将消息从Web worker传递到服务总线,并从工作进程中读取它们。
答案 1 :(得分:0)
我认为最好的解决方案是使用Service Bus工作角色,您可以尝试使用服务总线队列的辅助角色。
您可以从Web获取所需的消息,通过服务总线队列将其发送到辅助角色,然后执行所需的过程。
之后,无论是向后使用队列还是服务队列,都可以将结果发送回webrole。
你可以查看这个链接,我认为他正在做一些有点相似的事情http://middlewareinthecloud.com/2012/06/23/azureservice-bus-queues-in-worker-roles/
,这是具有服务总线队列的辅助角色的MSDN URL http://msdn.microsoft.com/en-us/library/windowsazure/jj149831.aspx