現在、PubNub を使用して Web アプリの通信を行っています。JSを介してメッセージを受信する2つの異なるアプリ(つまり、聞くだけ)と、メッセージを送信する(サーバーからクライアントへ)少なくとも3つの異なるアプリ(2つのWebと1つのワーカー)があります。
したがって、PubNub の場合は非常に単純です。コード ビハインドからサーバーに残りの呼び出しを行い、JS クライアントがメッセージを受信します。これを SignalR で複製したいのですが、使用する設計/アーキテクチャを確認する必要があります。
SignalR サーバーを実行する .Net Web アプリを作成することを計画していました。ここでは、ハブを作成し、Global.asax (RouteTable.Routes.MapHubs(new HubConfiguration() { EnableCrossDomain = true })) でルートを構成します。これは sr.mydomain.com に展開されます。
JS クライアント (client1.mydomain.com および clientx.mydomain.com として展開) は、sr.mydomain.com 設定 $.connection.hub.url によって送信されたメッセージを簡単にリッスンできます。
これまでのところ、すべて問題なく、コード化され、テストされ、機能しています。
ポイントは、webapp.mydomain.com および MyWorkerRole から JS クライアントにメッセージを送信する方法です。webapp.mydomain.com および MyWorkerRole から使用できる sr.mydomain.com で webmethod を作成することを考えています。したがって、MyWorkerRole は sr.mydomain.com の webmethod を呼び出し、sr.mydomain.com はメッセージを client1.mydomain.com に送信します。それは理にかなっていますか?これを行うためのより良いより直接的な方法はありますか?