2017-03-24 67 views
0

我有一個Web API端點,用於創建記錄併發出成功201創建記錄時創建。將SignalR與現有WebAPI端點集成

是否有可能向使用SignalR創建的記錄創建的獨立HTML/JS網頁發送通知?

如何在Web API中創建此發佈者以及如何從獨立網頁訂閱它?

回答

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