2013-04-10 113 views

回答

0

要在Web角色內部運行「輔助角色」,只需要在Web項目中實現RoleEntryPoint,就像在Worker角色中一樣。

請記住,此「背景」進程(WaIISHost.exe)的運行完全與您的Web應用程序進程(w3wp.exe)隔離。儘管this article已經很老了,但它仍然非常清楚地表示在您的Web角色中運行的過程。

您可以將您的SignalR託管在「工作者角色」中,而不是IIS中。並從Web工作者傳遞消息到服務總線,並從工作進程中讀取它們。

+0

嗨,的 SignalR connectionIds用戶,組可用於IIS。 SignalR只與signalR團隊一起使用IIS。所以我需要在Web角色本身中讀取服務總線。請建議一些替代方法。消息從多個來源傳遞到服務總線。 – 2013-04-10 08:53:13

+0

你有一些妄想。檢查[SignalR SelfHosting](https://github.com/SignalR/SignalR/wiki/Self-host)主題。此外,[管理Hubs部分](https://github.com/SignalR/SignalR/wiki/Hubs)中沒有任何明確提及的內容會導致ConnectionIds和Groups僅在IIS中可用或僅在SignalR本身在IIS中運行。 – astaykov 2013-04-10 10:09:19

0

我認爲最好的解決方案是使用帶Service Bus的工作角色,您可以嘗試帶有服務總線隊列的輔助角色。

您可以從網站獲取所需信息,通過服務總線隊列將其發送給工作人員角色,然後執行所需的過程。

之後,無論是通過向後使用隊列還是服務隊列,都可以將結果發送回webrole。

你可以檢查這個環節,我認爲他正在做類似的東西一點點http://middlewareinthecloud.com/2012/06/23/azureservice-bus-queues-in-worker-roles/

,這是MSDN網址爲輔助角色隨着服務總線隊列 http://msdn.microsoft.com/en-us/library/windowsazure/jj149831.aspx