如何为数据库中的用户提供 SignalR 连接?

How do I provide a SignalR connection for a user in the database?

我不使用 Asp.NET 会员资格。相反,我有自己的会员系统。我在数据库中保留了自己的用户信息。

例如,

James Bond,用户 ID {AF433-DA322 ......-............} Uniqueidentifier

我正在为 SignalR 创建一个 connectionID 或者我想定义一个成员。我如何关联自己数据库中的用户信息?

目的是向数据库中的会员发送消息。

例如;

GUID 用户 ID = {AF433-DA322 .......-.......} [詹姆斯邦德:)]

Clients.User(用户 ID).发送(消息);

总之,如何建立用户与数据库之间的关系? 如何推广?

这可以使用 SignalR 映射 table 来实现。此映射 table 目前包含 GUID 用户 ID 和 SignalR 连接 ID。 触发以上 table(SignalR 映射 table)的更新或插入后,客户端和服务器端的连接状态将发生变化。 示例 .

Connected: Implement RegisterUser method in server side and call it from Client side followed by SinglaR connected event.

Disconnected: Subscribe to the disconnected method in server-side and do database table update according to your logic.

现在您可以随时使用上述数据库 table 向用户发送消息。