繁体   English   中英

WPF Client和Asp.net Web App Signalr Hub,将从WPF Client登录的用户保存在Signalr Server中

[英]Wpf client and asp.net web app signalr Hub , save users logged in from wpf client in signalr server

我正在asp.net Web应用程序中创建SignalR集线器。 我的wpf应用程序是此SignalR集线器的客户端

我的wpf应用程序中具有登录功能,我想将此用户存储在asp.net中创建的集线器上,以便可以将信息发送给特定用户。 我想存储两个属性UserName和UserToken,这些属性的列表在集线器中,如何将这些属性信息发送到集线器

我尝试使用Client.Caller,但在集线器的连接或断开连接事件中未获得任何值

您可以通过集线器方法访问用户:有一个User实例属性。 对于令牌,我将假定它在请求标头中。 您可以在中心Context.Request.Headers属性中访问它。 您无需存储用户即可向他们发送数据。 在某个地方(不在集线器继承程序中),您将有这样的一行:

private static readonly Lazy<IHubContext> _hubCtx = new Lazy<IHubContext>(() => GlobalHost.ConnectionManager.GetHubContext<MyHub>());

protected virtual Task SendReportToAll(Report r)
{
    return _hubCtx.Value.Clients.All.EventToTriggerOnClient(r);
}

protected virtual Task SendReportToUser(Report r, string username)
{
    return _hubCtx.Value.Clients.User(username).EventToTriggerOnClient(r);
}

暂无
暂无

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

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