0

そのため、SignalR を使用している 2 つの Web サイトがあり、両方の Global.asax ファイルに次のものがあります。

HubConfiguration hubConfig = new HubConfiguration();
hubConfig.EnableCrossDomain = true;
RouteTable.Routes.MapHubs(hubConfig);

サーバー側のイベント側があり、ハブ コンテキストを取得して、リッスンしているすべてのクライアントにメッセージを送信します。

 var signalrContext = GlobalHost.ConnectionManager.GetHubContext<Notifications.OfferHub>();
signalrContext.Clients.All.receiveNotification("hello world");

同じイベントが両方の Web サイトでサーバー側で発生し、このクロスドメインをすべてのリスニング クライアントにブロードキャストしたいと考えています。両方のWebサイトのHubContextを取得できず、hub.urlサーバー側を変更できないため、これはサーバー側では不可能だと考えています。

誰か他の提案がない限り?

4

1 に答える 1

0

さて、ここで何をしているのか理解するのに少し時間がかかりました。David Fowler の助けと SignalR の素晴らしさに感謝します! 最終的に、各WebサイトのServiceReferenceを他のWebサイトのWebサービスに追加し、「ブロードキャスト」WebMethodを呼び出しました。Web サービス webmethod は、現在の SignalR コンテキストを取得し、それぞれの Web サイトでリッスンしているすべてのクライアントにメッセージをブロードキャストします。

于 2013-05-10T18:42:46.683 に答える