过滤传出 SignalR Core Hub 消息

2024-02-27

我正在使用 SignalR 和 .Net 5.0 并利用集线器过滤器 https://learn.microsoft.com/en-us/aspnet/core/signalr/hub-filters?view=aspnetcore-5.0对我的 SignalR Hub 传入的调用执行代码。

我正在寻找一种方法来对从集线器到客户端的传出消息执行相同的操作,但似乎没有其他选择。 也许或者,我希望在内置时专门挂钩并执行代码Ping 消息 https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.signalr.protocol.pingmessage?view=aspnetcore-5.0被发送出去。

看起来旧版本的 HubPipeLineModule 中曾经可以实现类似的功能,但我无法找到任何方法在当前的 SignalR 中实现此目的。这可能吗?


HubLifetimeManager https://github.com/dotnet/aspnetcore/blob/v6.0.10/src/SignalR/server/Core/src/HubLifetimeManager.cs负责向客户端发送消息,并且可以在注册 SignalR 之前注入您的自定义消息:

builder.Services.AddSingleton(typeof(HubLifetimeManager<>), typeof(CustomHubLifetimeManager<>));
builder.Services.AddSignalR();

where

public class CustomHubLifetimeManager<THub> : DefaultHubLifetimeManager<THub> where THub : Hub
{
     public override Task SendAllAsync(string methodName, object?[] args, CancellationToken cancellationToken = default)
    {
        //todo: do your stuff
        return base.SendAllAsync(methodName, args, cancellationToken);
    }
    //todo: override rest of the methods
}

它工作得很好,但是这种方法对我来说看起来有点老套。

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

过滤传出 SignalR Core Hub 消息 的相关文章

  • SignalR:加载集线器时出错

    Signalr 不加载我的集线器 SignalR Error loading hubs Ensure your hubs reference is correct e g 我正在打电话app MapSignalR in startup co
  • SignalR Core - 错误:Websocket 已关闭,状态代码:1006

    我在 Angular 应用程序中使用 SignalR 当我销毁 Angular 中的组件时 我也想停止与集线器的连接 我使用命令 this hubConnection stop 但我在 Chrome 控制台中收到错误 Websocket 已
  • 是否可以从另一个类库中的静态类获取ConnectionString?

    我已在 appsettings json 文件中添加了连接字符串 我需要访问后台操作所需的连接字符串 但为了使用连接字符串 我必须通过同一解决方案中不同项目的静态类进行访问 我无法使用ConfigurationManager Connect
  • SignalR 和 require.js 配置

    我正在合并SignalR进入我已经使用的项目需要 js处理我的脚本依赖项 我在确保 jquery signalR 1 1 2 加载后调用 signalr hubs 时遇到了一些麻烦 我已经让它工作了 但我想知道是否有更好的选择 这就是我所拥
  • 在 IIS Express 中测试 SignalR 应用程序

    大家好 我正在使用 Visual Studio 2012 并开发了一个简单的应用程序 仅用于审核目的 但是我陷入困境 因为当我尝试预览应用程序时 我收到以下错误消息 PlatformNotSupportedException This op
  • 与 Hub 中的 HttpContext.GetOwinContext() 等效的是什么?

    我在控制台应用程序中创建了一个自托管的 OWIN SignalR 服务器 从在 ASP NET MVC 应用程序 在 IIS 中 托管 SignalR 的示例中 我看到以下代码行 var authenticateResult await H
  • SignalR 连接到多个服务器

    可以使用 Javascript 客户端连接到多个SignalR服务器 例如
  • ASP.NET Core SignalR websocket 连接限制

    我使用 Microsoft AspNetCore SignalR Client 对在 Windows Server 2016 标准上托管的 SignalR ASP NET Core 应用程序进行负载测试 安装了 Dotnet 核心托管 2
  • 将 Azure Functions 升级到 5.0:System.UriFormatException

    我一直致力于将我们的 Azure Functions 实现之一升级到 net 5 我已经与许多恶魔作斗争了 但正当我以为我已经整理了所有配置和依赖项注入更改时 它向我抛出了一个曲线球 后host RunAsync in Main 我得到以下
  • SignalR Groups.Add 超时并失败

    我正在尝试使用 SignalR 2 2 将成员添加到组中 每次 我都会遇到 30 秒超时并收到 System Threading Tasks TaskCanceledException 任务已取消 错误 从我编写的 GroupSubscri
  • 在 .NET 5.0 上向 Windows 窗体添加配置

    我正在将现有的 Windows 窗体 C 应用程序迁移到 NET 5 0 并且我正在尝试遵循迁移文档 https learn microsoft com en us dotnet desktop winforms migration vie
  • 如何修复信号器的 ChunkLoadError

    我在本地运行我的 nx 站点时遇到问题 任何使用 signalR 的联合应用程序都开始抛出 ChunkLoadError 我尝试过更改 signalR 的版本 重新加载 清除缓存并单独运行我的联合应用程序 结果总是一样的 Uncaught
  • Python 的 SignalR 替代方案

    Python 世界中 SignalR 的替代方案是什么 准确地说 我在Windows 8上使用tornado和python 2 7 6 我发现sockjs龙卷风 https github com MrJoes sockjs tornado
  • SignalR:连接建立时服务器如何正确订阅组

    我已经查看了几个地方 但仍然找不到关于如何使用组的明确说明 我正在使用组进行过滤 仅将消息传递给客户端子集 我想将客户端加入服务器端的组OnConnected事件 客户端不需要知道它属于哪个组 问题 我是否也应该覆盖OnReconnecte
  • SignalR 不能与 .Net Core 一起使用

    我正在尝试安装SignalR在我的中使用 NuGet 包管理器C Asp Net 核心项目 但我收到此错误 称 SignalR 与 net core 不兼容 它真的还不支持吗 或者我可以做些什么来让它发挥作用吗 如果有必要提及的话 我正在使
  • 在 OWIN 托管的 SignalR 实现中接受 ASP.NET 表单身份验证 cookie?

    我有一个使用 OWIN 的自托管 SignalR 实例 我想实施授权 我的用户已经使用表单身份验证登录到 ASP NET MVC 应用程序 由于两个应用程序可在同一 URL 上使用 因此 cookie 将在两者之间共享 如何在自托管 Sig
  • 如何确定是否安装了 .Net 5 运行时?

    我安装了 NET 5 0 预览版 SDK 和运行时 如何检测 确定 Net 5 运行时是否是从 C 安装的 这里有一些错误 NET 5 是not NET Framework 的一个版本 它是下一个版本 NET核心 source https
  • var chat = $.connection.chat; 出现对象未定义错误使用 SignalR 时

    我尝试安装 SignalR 库来创建示例聊天应用程序 我相信我已遵循文档中给出的所有步骤 我不确定失败的原因是什么 创建聊天对象时失败 我正在使用 VS2010 并使用 VS2010 包下载实用程序下载 SignalR 有人对此有疑问吗 谢
  • 我在 signalr javascript 客户端中收到未定义的连接 ID

    根据我遇到的所有文档 我应该能够在连接启动后调用 connection hub id 这是我的代码 var handshake connection handshakeHub connection hub start done functi
  • SignalR - HubContext 和 Hub.Context

    我是 signalR 的新手 正在阅读 API 并使用它 对 Hub 及其上下文有点困惑 那是 Hub Context is not HubContext HubContext我可以从GlobalHost ConnectionManager

随机推荐

  • Passport.js 中的本地和 Google 策略:序列化用户时出现问题

    我一直试图理解为什么即使身份验证本身正在工作 我也无法让用户在经过身份验证后保持登录状态 我什至在这里发布了一个问题 Passport js 本地策略未进行身份验证 https stackoverflow com questions 515
  • Google 服务的 Android 版本冲突

    我已经为此搜索了很多解决方案 但没有一个适合我的具体情况 我在 Gradle Sync 上收到此错误 错误 任务 app processDebugGoogleServices 执行失败 请通过更新 google services 插件的版本
  • 如何直观地显示 java ResultSet?

    我正在寻找一种在屏幕上显示 java sql ResultSet 的方法 最好内置于java或swing中 如果这两个都没有一个简单的好方法 我会考虑 spring How 循环 ResultSet 的结果并将其放入 TableModel
  • 如何在 Google 电子表格中添加标题

    我在用gdata spreadsheet 3 0jar 用于在 Google 电子表格中输入数据 我在用 new ListEntry getCustomElements setValueLocal Header Name Value 但我不
  • 有没有一种简单的方法来扩展现有的激活函数?我的自定义 softmax 函数返回: 操作具有“无”梯度

    我想通过仅使用向量中的前 k 个值来实现使 softmax 更快的尝试 为此 我尝试为张量流实现一个自定义函数以在模型中使用 def softmax top k logits k 10 values indices tf nn top k
  • Angular 2 组件@Input 不起作用

    我一直试图将属性值传递到我的组件中 从我读到的一切看起来都是正确的 但它仍然不起作用 我的测试值以空值输出到屏幕和控制台 这是我的测试组件 import Component Input from angular2 angular2 Comp
  • 如何检查字符串是否是全语法?

    我想创建一个函数 它接受一个字符串作为输入 并检查该字符串是否是全语法 全语法是包含字母表中每个字母的一段文本 我编写了以下代码 该代码有效 但我正在寻找一种替代方法 希望是一种简短的方法 import string def is pang
  • 从 Python 中的 code.interact() 恢复代码执行

    在使用调试时打开交互式控制台后 code interact local locals 我怎样才能恢复代码执行 我已经检查了 代码 模块和搜索堆栈溢出的文档 但找不到任何内容 这与退出任何 Python 解释器会话的方式相同 发送文件结束字符
  • 电话号码格式应该是国际格式,iPhone中是否有用于电话号码验证的正则表达式

    电话号码应该是国际电话号码 用户必须输入带有国家 地区代码的完整电话号码 为此 我需要一个正则表达式来格式化电话号码 对于真正的正则表达式测试使用正则表达式套件精简版 http regexkit sourceforge net RegexK
  • 是否可以在 _LoginPartial.cshtml 中使用 @model ?

    我需要从我的数据库获取一些数据 LoginPartial cshtml 是否可以使用 model in LoginPartial cshtml 或者说它是如何完成的 就在 using WebApp Services然后直接从服务中检索数据
  • OpenCL 编译器预处理定义?

    我正在 Snow Leopard 上开发 OpenCL 代码 并且了解 OpenCL 即时编译是由 Clang LLVM 完成的 是否使用了 C 预处理器 有没有办法使用编译器设置预处理定义 存在哪些定义 我希望代码知道它是为 CPU 还是
  • Java 8 列表到嵌套映射

    我有一个班级名单A like class A private Integer keyA private Integer keyB private String text 我要转让aList嵌套Map映射于keyA and keyB 所以我创
  • 正则表达式的金钱

    I have asp TextBox保持货币价值 即 1000 1000 0 和 1000 00 由于俄罗斯标准 逗号是分隔符 What ValidationExpression我要使用适当的asp RegularExpressionVal
  • 如何指定 RTL 特定的可绘制对象

    我有几张从右到左看起来不同的图像 是否可以创建 rtl 特定的可绘制目录或文件名的一些 rtl 后缀以自动加载相关图像 看起来像 ldrtl 后修复 从 17 级添加 仅适用于布局目录 现在回答这个问题已经很晚了 但我想分享一个我刚刚发现的
  • 有人用 VS2010 RTM 编译 OverviewMargin 吗?

    由于我严重上瘾岩石卷轴 http www hanselman com blog IntroducingRockScroll aspx 我正在寻找一个替代品 https stackoverflow com questions 2672277
  • 让Java文件传输更高效

    我有两台无线计算机连接到 N 个无线路由器 每台 PC 的连接速度都在 108 150Mbps 之间 理论上 在绝对最佳的条件下 我应该能够以 13 5MB s 到 18 75MB s 的速度传输 第一台计算机 正在发送 使用非常快的 SS
  • Android 模拟器上的低功耗蓝牙

    我研究了关于蓝牙低功耗 http developer android com guide topics connectivity bluetooth le html 但我没有支持 BLE 设备进行测试 因此 我想问 Android模拟器支持
  • 如何使用 JavaScript 将图像转换为 Base64 字符串?

    我需要将图像转换为 Base64 字符串 以便可以将图像发送到服务器 有没有相关的 JavaScript 文件 否则 我该如何转换它 您可以选择多种方法 1 方法 FileReader 通过以下方式将图像加载为 blobXMLHttp请求
  • 为什么弹性项目受限于父级尺寸?

    考虑以下示例 body margin 0 box sizing border box parent min height 100vh width 50vw margin 0 auto border 1px solid red display
  • 过滤传出 SignalR Core Hub 消息

    我正在使用 SignalR 和 Net 5 0 并利用集线器过滤器 https learn microsoft com en us aspnet core signalr hub filters view aspnetcore 5 0对我的