2017-03-24 7 views
0

私は、レコードを作成するWeb APIエンドポイントを持っており、レコードが作成されたときに正常に作成されます。既存のWebAPIエンドポイントとSignalRの統合

スタンドアロンHTML/JS Webページに、SignalRを使用して作成されたレコードが作成されるという通知を送信することは可能ですか?

Web APIでこのパブリッシャを作成する方法と、スタンドアロンWebページからこのパブリッシャを購読する方法はありますか?

答えて

2

はい - そのブラウザがSignalR Hubにアクティブに接続されている限り、可能です。

このコードを出発点として使用できます。あなたがMessageHubという名前のSignalR Hubクラスを持っていると仮定します。これは、all active SignalR clientsにメッセージをブロードキャストします。

[RoutePrefix("api/messaging")] 
public class MessagingController : ApiController 
{ 
    [Route("")] 
    public void Post(Message message) 
    { 
     var notificationHub = GlobalHost.ConnectionManager.GetHubContext<MessageHub>(); 
     if (notificationHub != null) 
     { 
      try 
      { 
       // create your record 
       notificationHub.Clients.All.creationSuccess(message); 
      } 
      catch (Exception ex) 
      { 
       // do a thing 
      } 
     } 
    } 
} 

creationSuccessは、あなたが参照しているために、ブラウザの内部の通知を処理するクライアント側の機能(JavaScriptの)の名前です。 Here's more information regarding the details of that

関連する問題