繁体   English   中英

将SignalR与现有WebAPI端点集成

[英]Integrating SignalR with existing WebAPI endpoint

我有一个Web API端点,该端点创建一条记录并在创建记录时发出成功的201 Created。

是否可以向独立的HTML / JS网页发送一条通知,通知该记录是在使用SignalR创建记录时创建的?

如何在Web API中创建此发布者,以及如何从独立网页进行订阅?

是的-只要该浏览器与SignalR Hub处于活动连接,就可以。

您可以使用此代码作为起点。 假定您有一个名为MessageHub的SignalR Hub类。 all active SignalR clients消息广播到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)上函数的名称,它将处理您所引用的浏览器内部的通知。 这是有关该细节的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM