Signalr 客户端在重新连接时检索丢失的消息

2024-06-27

我希望用户在重新连接到 Signalr 服务器时检索他们可能错过的消息。

我知道我可以独立于 Signalr 保留消息,跟踪客户端中收到的最后一条消息 ID,并在重新连接时重新发送较新的消息,但我正在查看 SqlServer 背板的 Messages_0 表,其中包含 Payload 和 PayloadID,并且想知道是否有是一种更信号化的方法,可以让背板为我执行此操作或扩展背板为我执行此操作。

你有什么想法我可以怎么做吗?


SignalR 更像是一个实时消息系统,用于向连接的客户端广播请求。如果您要发送给许多客户端,则没有内置方法可以跟踪特定解耦客户端检索广播消息的情况。服务总线/队列机制更适合 IE - MSMQ、Rhino 服务总线、RabbitMQ 等。您绝对可以构建一个队列来处理请求并监视哪些身份仍连接到集线器并让 SignalR 处理广播通信的一部分,如果身份解耦并返回到组,则仅重新发送到该身份。

采用纯服务总线方法的唯一问题是客户端必须在其计算机上正确设置协议,例如需要 MSMQ 服务器核心集成的 MSMQ,这增加了部署的复杂性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Signalr 客户端在重新连接时检索丢失的消息 的相关文章

随机推荐

  • 在 JTable 中按列对行进行排序

    当您单击 JTable 上的列标题时 它会按字母顺序对行进行排序 这适用于我的所有专栏 除了一篇 此列中的值都是字符串 但包含数字 我需要根据它们的十进制值而不是字符串值对它们进行排序 知道如何实现这一点吗 请阅读有关的教程JTable h
  • C# 中私有静态变量和实例变量是否继承?为什么?

    我读过 基类中的私有变量从技术上讲是由子类继承的 但无法访问 如果这是正确的 为什么我们说它们是继承的 而大概它们只能通过反射访问 子类化就是继承执行 和字段是实现细节 这些字段确实存在 并且可以通过反射获得 但最终 通过任何公共 受保护
  • 两个浮点数相加

    我想计算两个 IEEE 754 二进制 64 数字的四舍五入之和 为此我编写了下面的 C99 程序 include
  • 如何将正则表达式捕获组与 JFlex 结合使用?

    虽然这个问题是关于 JFlex 的 但它可能也适用于其他扫描仪生成器 例如 lex flex 如果我有一些规则 如何在该规则的一部分中创建一个捕获组 并使用该捕获组的结果作为在规则匹配时调用的代码的参数 例如 假设我有一个匹配 SGML 标
  • 使用 css3 列 - 如何获取元素位置?

    为了将长 html 文件与列分开 我使用了 css3 列 padding 0px height 1024px webkit column gap 0px webkit column width 768px 我想获取指定元素的位置 所以我使用
  • 在转发器内的更新面板中匹配 ID -“已包含...的定义”

    我有一个问题 为什么单独中继器中的 2 个控件如果位于更新面板中则不能具有相同的 ID 但如果它们不在更新面板中则可以共享相同的 ID 看到这段代码
  • Sublime Text 2 评论/文档块

    最近 我决定尝试使用 Sublime Text 2 作为 TextMate 的替代品 确实如此 我非常喜欢它 但唯一让我烦恼的问题是 按 Enter 键后它不会继续 PHP 注释 文档块 它只是添加新的空白行而不是以 开头的行 如此处所示
  • 在 iOS safari 中禁用选择上下文菜单

    我想禁用在 iOS Safari 网络浏览器 中选择特定文本后出现的默认上下文菜单 那可能吗 这是可能的 请参阅这个例子 http jsfiddle net z9ZNU 基本上 重要的部分是设置正确的 css 属性 body webkit
  • HTML 表单 POST 到 PHP 页面 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 好的 我创
  • 当我打开特定的 XIB 文件时,Xcode 崩溃

    I had a XIB文件一直运行良好 直到今天 当我尝试在 Xcode 中打开它时 沙滩球出现 1 分钟后 Xcode 崩溃 其他的XIBs工作得很好 另外 如果我只是在我的设备上构建并运行项目 它也可以工作 并且 XIB 在应用程序中工
  • 使用 django-allauth 时 Django 无法找到静态文件

    当我使用 allauth 时 一切似乎都工作正常 除了 Django 现在无法找到静态文件 如果没有 allauth 所有静态文件都会被渲染 allauth 的设置需要添加 TEMPLATE CONTEXT PROCESSORS allau
  • 尝试在 Xcode 中为 OS X 应用程序设置 Tab 键顺序

    我正在使用 Xcode 7 3 构建 OS X 桌面应用程序 并尝试为其中一个表单设置 Tab 键顺序 我发现有几篇文章解释了 Xcode 4 的类似问题 但没有任何进展 https www youtube com watch v SRrE
  • 为什么 justify_interval('360 days'::interval) 结果 '1 年'

    因为某些原因justify interval now 2013 02 14 timestamptz 产生奇怪的结果 postgres select justify interval concat 365 4 1 days interval
  • 如何使用Conda安装MySQLdb?

    我已经阅读了有关如何安装 MySQLdb 的几种不同的解释 但我不确定哪种情况适用于我 因为我的错误消息不同 我的系统似乎找不到 MySQLdb 我安装了 pymysql 但我需要导入 MySQLdb 才能使用该库中的过程 感谢您的帮助 c
  • 在vim中查找精确匹配

    Using or 能够在 vim 中找到单词的匹配项 但我怎样才能找到完全匹配的呢 例如 我的文本包含以下单词 a aa aaa aaaa aa我输入 aa这将找到包含模式 aa 的所有字符串 但是如果我想准确找到怎么办aa并不是aaaa
  • 如何在使用可变宽度描边绘制时使绘制路径平滑

    我创建了一个示例绘图应用程序 用户可以使用可变宽度描边进行绘制 到目前为止 使用可变描边绘制路径是有效的 但绘制的线条并不平滑 我用来实现这一目标的代码如下所示 帮我解决这个问题 因为我在过去两天一直坚持这个问题 使用可变笔划宽度绘制路径的
  • 在无头 Chrome Docker 中获取运行 selenium 的空页面

    我正在基于 Oracle Linux 的 Docker 中的无头 chrome 中运行测试用例 我请求的页面应该重定向到带有用户名密码字段的身份验证页面 但我在 docker server 中收到空白页面 这在我的 MacBook 上运行得
  • 如何使用 GitLab 管道中的密钥通过 SSH 连接到目标服务器?

    当 GitLab 管道成功时 我想通过 SSH 使用公钥连接到服务器 正如我所看到的 我需要在 GitLab 端使用 ssh keygen 生成一个密钥并将其添加到我想要连接的服务器上 我可以在管道期间生成密钥 但由于公钥未添加到目标服务器
  • 错误:(1) 处的分配中的等级 0 和 1 不兼容

    我正在不规则网格上使用有限差分方法 这是代码的重要部分 IMPLICIT DOUBLE PRECISION A Z REAL 16 IPSI ICORR POT 20000 VA 20000 delta1 20000 delta2 2000
  • Signalr 客户端在重新连接时检索丢失的消息

    我希望用户在重新连接到 Signalr 服务器时检索他们可能错过的消息 我知道我可以独立于 Signalr 保留消息 跟踪客户端中收到的最后一条消息 ID 并在重新连接时重新发送较新的消息 但我正在查看 SqlServer 背板的 Mess