[英]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.