我正在使用Asp.net零版本10.2.0和ABPFrameworkVersion6.2开发一个web应用程序,前端是在Asp.net核心5.0中的角11 &后端API,而公共网站是Asp.net MVC。
我正在尝试在前端(棱角)和公共(Asp.net MVC)网站上获取登录用户,使用SignalR在管理仪表板上显示。两者都使用相同的db表ABPUsers。有人用SignalR或其他方式做过类似的事情吗?
感谢你的任何帮助
发布于 2021-12-20 14:11:49
我在SignalR on ASP.NET上做了类似的事情(不是核心)。我在OnConnected类中重载了Hub和OnDisconnected方法,以保存我自己的连接客户机字典。
每个客户端都有一个包含其登录信息的标头。在OnConnected中,我将解析标头并检查这个客户机是否已经连接。如果不是,我就把它们加到字典里去。在OnDisconnected中,我将检查这个客户机是否已连接,如果是,则将它们从字典中删除。这样,字典总是有连接的客户端。
备注:,因为为每一个新登录创建一个新的Hub,所以字典必须是单例或静态的。我使用静态 ConcurrentDictionary。
备注2: SignalR有一个用于存储所有客户端的内部结构,但是不修改库是不可能轻松搜索的,并且有非常有限的公共方法。这就是为什么我用我自己的字典。
https://stackoverflow.com/questions/70422508
复制相似问题