如何解决如何通过将SignalR与ASP.NET MVC 5一起使用将消息共享给特定客户端?
我正在尝试在示例聊天应用程序中实现一个小型演示。
我在ASP.NET MVC5应用程序中使用SignalR,但是在向特定/单个客户端发送消息时发现了一些问题。
public class ChatHub : Hub
{
string connectionId = "";
public string GetConnectionId()
{
return connectionId;
}
public override Task OnConnected()
{
connectionId = Context.ConnectionId;
return base.OnConnected();
}
}
public class Common
{
public static void Send(string name,string message,string connectionId)
{
IHubContext Context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
Context.Clients.Client(connectionId).addNewMessagetoPage(name,message);
}
}
我不想将其设为静态
public string GetConnectionId()
{
return connectionId;
}
然后如何将connectionId
发送到
Common.Send(name,message,connectionId)
在ASP.NET MVC控制器中被调用。
有什么更好的建议/推荐吗?
使用ASP.NET MVC 5和SignalR 2.4.1构建的应用程序。
我正在为我的演示应用程序使用此链接。您可以在https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/tutorial-getting-started-with-signalr-and-mvc
上查看与源代码相关的所有详细信息。大多数人说您无法使用GetHubContext
看到
https://github.com/aspnet/SignalR/issues/2274#issuecomment-389227033 https://github.com/aspnet/SignalR/issues/2274#issuecomment-389013456 Connection ID when calling SignalR Core Hub method from Controller
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。