繁体   English   中英

客户端的信号器响应

[英]Signalr response from client

我如何从订阅的客户那里将结果付诸行动?

我在Mvc应用程序中使用signalr设置了集线器,目的是验证多个客户端提供程序之间的客户端。

我在控制器中访问的方式是:

IHubContext _hubContext = GlobalHost.ConnectionManager.GetHubContext<AmsHub>();

和我的MVC动作

  public ActionResult Index()
    {
        var result = _hubContext.Clients.All.FindUsers("johny brown");
// how do I access the result?
        return View();
    }

我订阅的客户(我有多个)与实施

 var hubConnection = new HubConnection(hubUrl);
 IHubProxy myHubProxy = hubConnection.CreateHubProxy("AmsHub");


 myHubProxy.On("FindUsers", (name) =>
      {
         var foundRecords = new User()
          {
             FirstName = "Johny",
             LastName = "Brown",
             Email = "johny.brown@dummy.com",
          };
     });

SignalR中没有返回值(从客户端到服务器)。 您可以定义一个FindUsersCallback函数并在您的客户端上调用它。 在服务器端,您可以处理此“信号”,并将View()退还给您。

myHubProxy.On("FindUsers", (name) =  > {
        var foundRecords = new User() {
            FirstName = "Johny",
            LastName = "Brown",
            Email = "johny.brown@dummy.com",
        };

        hubConnection.asmHub.FindUsersCallback(foundRecords);
    });

暂无
暂无

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

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