如何将唯一标识符传递给 SignalR client/Server 连接?
How do I pass a unique identifier to a SignalR client/Server connection?
我正在考虑为我的系统使用 Signal R
我系统的每个用户都观看一小组数据。
例如,Fred smith(用户 ID 1)可能想知道黄金的价格
UserID 2 想知道黄金和白银的价格
全天会有数百个价格通过市场
当新价格通过我的系统时,我正在考虑查看登录的用户,看看他们中是否有人关心已经进来的价格
如果用户关心,我想将价格发送到客户端实例
我不想在每个价格出现时通知所有 Signal R 客户,因为那样会产生太多数据!
我假设这依赖于能够存储客户端生成的东西,然后通过与集线器的连接传递它
Signal R 支持吗?我看不到任何明显的东西吗?
我可以完全控制我的集线器。
目前,我打算将数据写入数据库,我使用 SQL 依赖来触发集线器运行
我在 MVC 5 中使用 Signal R
干杯
保罗
可能性A)使用信号R的分组机制
我建议您为每个 "item"(金、银、....)创建一个组。
在用户登录的情况下,您应该查看他在哪些项目中
感兴趣并订阅这些群组。
(Groups.Add(...)
在您的中心方法中)
因此,如果项目的值发生变化,您可以发送新的
对所有订户(对某个群体感兴趣的客户)的价值
Clients.Group(groupName).newItemValue(YOURIDEMID, YOURNEWVALUE);
您可以在此处找到有关使用 signalr 进行分组的更多详细信息:
https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/working-with-groups
可能性B) 自己处理
- 如果客户端连接到服务器,请保存此客户端的 ID。同时转到您的数据库并显示该客户感兴趣的项目。 --> 最后,您应该有一个字典,其中包含已连接客户端的 ID (id) 以及作为值的包含感兴趣项目的列表。
- 如果某个项目的值发生变化,您将遍历所有连接的客户端和搜索对该项目感兴趣的客户端。最后向他们发送新值。
我正在考虑为我的系统使用 Signal R
我系统的每个用户都观看一小组数据。
例如,Fred smith(用户 ID 1)可能想知道黄金的价格
UserID 2 想知道黄金和白银的价格
全天会有数百个价格通过市场
当新价格通过我的系统时,我正在考虑查看登录的用户,看看他们中是否有人关心已经进来的价格
如果用户关心,我想将价格发送到客户端实例
我不想在每个价格出现时通知所有 Signal R 客户,因为那样会产生太多数据!
我假设这依赖于能够存储客户端生成的东西,然后通过与集线器的连接传递它
Signal R 支持吗?我看不到任何明显的东西吗?
我可以完全控制我的集线器。
目前,我打算将数据写入数据库,我使用 SQL 依赖来触发集线器运行
我在 MVC 5 中使用 Signal R
干杯
保罗
可能性A)使用信号R的分组机制
我建议您为每个 "item"(金、银、....)创建一个组。 在用户登录的情况下,您应该查看他在哪些项目中 感兴趣并订阅这些群组。
(
Groups.Add(...)
在您的中心方法中)因此,如果项目的值发生变化,您可以发送新的 对所有订户(对某个群体感兴趣的客户)的价值
Clients.Group(groupName).newItemValue(YOURIDEMID, YOURNEWVALUE);
您可以在此处找到有关使用 signalr 进行分组的更多详细信息: https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/working-with-groups
可能性B) 自己处理
- 如果客户端连接到服务器,请保存此客户端的 ID。同时转到您的数据库并显示该客户感兴趣的项目。 --> 最后,您应该有一个字典,其中包含已连接客户端的 ID (id) 以及作为值的包含感兴趣项目的列表。
- 如果某个项目的值发生变化,您将遍历所有连接的客户端和搜索对该项目感兴趣的客户端。最后向他们发送新值。