【问题标题】:Check Client connection from hub检查来自集线器的客户端连接
【发布时间】:2020-07-17 10:31:01
【问题描述】:

目前我正在使用 Signalr 开发 AspnetCore 项目,我正面临这个问题:
-客户端连接到集线器,并调用函数A()
-Hub Run A() 但它会阻止来自该客户端的任何其他调用
- 客户端调用函数 B() 以停止函数 A() 但不会停止
我读到 Signalr 按顺序处理呼叫,所以我尝试从客户端调用断开连接,但集线器仍然认为他已连接(集线器正在运行 A())
所以我的问题是:有没有办法检查客户端是否仍然从集线器连接?像 ping 什么的?
谢谢

【问题讨论】:

  • 这能回答你的问题吗? SignalR - Checking if a user is still connected
  • 你好。你能提供一些你的集线器的代码吗?创业公司呢?
  • @Selim Yıldız,正如我所说,集线器的 OnConnect 和 On Disconnect 事件不会被触发,因为函数 A() 正在运行
  • @Kiril1512 基本启动和集线器,并将函数 A() 想象成一个无限循环,当调用 B() 时停止
  • 那么你说的是cancellationtoken行为。

标签: c# asp.net-core .net-core signalr


【解决方案1】:

您想要的是取消令牌行为。您希望客户端传递一个取消令牌,这就是您在调用方法 B() 时尝试存档的内容。

但 SignalR 不支持这种行为,您可以阅读 herehere

【讨论】:

  • 感谢您的回答,所以我对此无能为力吗?
  • 如果可以做一些不同的事情来取消请求,也许你可以创建另一个问题。
猜你喜欢
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-15
  • 2014-11-15
  • 1970-01-01
相关资源
最近更新 更多