问题描述
我正在尝试在示例聊天应用程序中实现一个小型演示。
我在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 (将#修改为@)