signalr-hub 相关问题

集线器提供比PersistentConnection更高级别的RPC框架。如果您要在服务器和客户端之间发送不同类型的消息,则建议使用集线器,这样您就不必自己进行调度。

SignalR Hub 方法不再被调用

我在我的应用程序中使用 AspNetCore SignalR。我有服务器代码: 公开课广播:Hub { 公共异步任务AddRow(Guid tableId) { RecordView newRow = _tableService.

回答 1 投票 0

'错误:服务器在关闭时返回错误:连接因错误而关闭。 InvalidOperationException:可为 Null 的对象必须有一个值

我在通过 SignalR 建立连接时遇到错误。当我建立 SignalR 连接时,连接开始后,它立即断开连接并抛出错误。 错误:连接

回答 1 投票 0

Signal R Kestrel 断开连接事件

有这篇文章,但我不能在那里评论或添加任何内容: 76024866/signalr-hub-ondisconnectedasync-sometimes-takes-thirty-seconds-to-fire-but-ot 我的 signalR 严重依赖于断开...

回答 1 投票 0

如何从 .NET Core 3.1 中的 DI 获取 SignalR IHubContext?

我有很多集线器并注册它们: app.UseEndpoints(端点=> { endpoints.MapControllers(); endpoints.MapHub("/hub/finance"); 端点.MapHub<

回答 2 投票 0

与其余应用程序相比,大量的 SignalR 请求

我们有一个在 Azure 应用服务上运行的 ASP.NET MVC .NET 7 应用。该应用程序在典型的一天支持大约 50-60 个并发用户。用户将保持登录状态数小时,因为这是一项业务

回答 0 投票 0

无法在 SignalR Hub 中调用 AppDbContext

为什么我无法在 SignalR Hub 中使用 AppDbContext?查询本身没有任何问题。它在集线器上下文之外工作。电子邮件已正确解析。 System.NullReferenceExcepti ...

回答 1 投票 0

使用 SignalR (dotnet 6) 将音频从客户端流式传输到服务器

我想要什么: 我想在 dotnet 6 中将音频从客户端流式传输到服务器。然后阅读并转录它。之后将文本发送回客户端。 到目前为止我得到了什么: 服务器代码: 酒吧...

回答 0 投票 0

在 SignalR Hub 中未获得授权标头

我如何在 SignalR Hub 中应用 [Authorize],它在我的其他 API 控制器上工作但在 SignalR Hub 中不起作用,我可以在 SignalR 请求中发送 JWT 令牌。 这是我的 SignalR Hub 的 C# 代码 南...

回答 0 投票 0

SignalR OnConnected() 覆盖的授权不会触发

我在我的 SignalR 集线器上实现了自定义授权,但是 HandleRequirementsAsync 方法不会在自定义处理程序上触发(vs 上的断点不会触发)。 这是我的代码: //处理程序 ...

回答 0 投票 0

在 SignalR Hub 的 OnConnected/OnDisconnected 中注入租户信息

有一个多租户 SaaS 应用程序,我想在 SignalR Hub 的 OnConnectedAsync/OnDisconnectedAsync 挂钩中为每个 tenantIds 创建组。 问题是 ITenancyContext 有一个多租户 SaaS 应用程序,我想在 SignalR Hub 的 tenantId/OnConnectedAsync 挂钩中为每个 OnDisconnectedAsync 创建组。 问题是ITenancyContext<ApplicationTenant>被注册为范围服务,这意味着它仅在请求范围内可用。在 SignalR hub 的上下文中,它与请求无关,因此不可用。 那么我该如何让它可用呢?授权它并以某种方式丰富声明? public sealed class NotificationHub : Hub { readonly ILogger<NotificationHub> _logger; readonly Guid _tenantId; public NotificationHub(ILogger<NotificationHub> logger, ITenancyContext<ApplicationTenant> tenancyContext) => (_logger, _tenantId) = (logger, tenancyContext.Tenant.Id); public override async Task OnConnectedAsync() { await JoinGroup(_tenantId.ToString()); _logger.LogInformation("{ConnectionId} has connected to the hub. TenantId: {TenantId}", Context.ConnectionId, _tenantId); await base.OnConnectedAsync(); } public override async Task OnDisconnectedAsync(Exception? exception) { await LeaveGroup(_tenantId.ToString()); _logger.LogInformation("{ConnectionId} was disconnected from the hub. TenantId: {TenantId}", Context.ConnectionId, _tenantId); await base.OnDisconnectedAsync(exception); } Task JoinGroup(string groupName) => Groups.AddToGroupAsync(Context.ConnectionId, groupName); Task LeaveGroup(string groupName) => Groups.RemoveFromGroupAsync(Context.ConnectionId, groupName); } 我认为我们可以创建一个中间件来实现它。在这个中间件中注入ITenancyContext<ApplicationTenant>,我们称之为TenantMiddleware. public class TenantMiddleware { private readonly ITenancyContext<ApplicationTenant> _tenancyContext; public TenantMiddleware(ITenancyContext<ApplicationTenant> tenancyContext) { _tenancyContext = tenancyContext; } public async Task InvokeAsync(HttpContext context, Func<Task> next) { var user = context.User.Identity as ClaimsIdentity; if (user != null) { var TenantId= _tenancyContext.Tenant.Id; user.AddClaim(new Claim("TenantId", TenantId.ToString())); } await next(); } } 然后我们可以在您的NotificationHub课上使用它。 public override async Task OnConnectedAsync() { // Get TenantId like below. var user = Context.User.Identity as ClaimsIdentity; var tenantIdClaim = user?.FindFirst("TenantId"); _tenantId = tenantIdClaim != null ? Guid.Parse(tenantIdClaim.Value) : Guid.Empty; ... await JoinGroup(_tenantId.ToString()); _logger.LogInformation("{ConnectionId} has connected to the hub. TenantId: {TenantId}", Context.ConnectionId, _tenantId); await base.OnConnectedAsync(); }

回答 1 投票 0

如何在不添加新 Azure 函数的情况下从现有 Azure 函数发送 SignalR 消息?可以吗?

C# 学习者在这里。我希望这个问题有道理,但如果没有,请继续阅读! 我有一个现有的 Azure 函数设置 (.NET 6),当它收到一个 http 触发器时,将触发一个协调器函数 ...

回答 1 投票 0

具有自定义身份验证和授权的 SignalR

我有三个应用程序。 1)视窗应用程序 2)Asp.net网页表单 3)ASP.NET MVC 我有一个使用 Web 服务实现的身份验证和授权系统。以简单的形式表示底层

回答 3 投票 0

如何从API端点控制SignalR?

我有一个Blazor应用,同时也有一个API。我有一个注入的单子,它有一些值。我的blazor应用程序上的一个页面显示了相同的单体的值。我的目标是更新...

回答 1 投票 0

Serilog ILogger.ForContext在XUnit Mock中抛出NullReferenceException。

当我试图使用Mock对signalr组件进行单元测试时,遇到了一个问题。这里是问题发生的地方 _logger.LogInformation($"Registering a Station with id: {Id}" + $"与...

回答 1 投票 0

SignalR核心授权与刷新令牌

我有几个关于服务器端SignalR Core授权的问题,我的服务器是用ASP.NET Core写的,它使用SignalR CORE给用户发送通知。1) 如果一个...

回答 1 投票 0

用signalR只给一个用户发送消息。

我正在编写一个聊天应用程序。我使用Angular 6和.Net Core 3.1。我看了很多文档,但还是不明白哪里有错误。我的Hub类 public class ChatHub : Hub { ...

回答 1 投票 1

无法连接到远程SignalR集线器在.NET core 3.1中。

我正试图托管一个远程SignalR集线器。我创建了一个.NET core 3.1 web api应用程序,在我的Startup类中有以下代码。 public void ConfigureServices(IServiceCollection services) { ...

回答 1 投票 1

防止SignalR集线器中的公共方法被用户调用。

https:/docs.microsoft.comen-usaspnetcoresignalrhubs?view=aspnetcore-3.1#cine-and-use-hubs说:"通过声明一个继承自Hub的类来创建一个集线器,并在其中添加公共方法。客户端...

回答 1 投票 0

从客户端连接到SignalR服务器

我今天有一个web服务器充当SignalR服务器,其中JS的连接进入正确的Hub,并正确处理。例如注册并启动JS端Hub = $.......

回答 1 投票 0

C# SignalR Winform Streaming

我有一个信使在c# Windows应用程序发送客户端之间的文本消息。(.Net框架4.7.2 - Vs 2019)它的工作原理。我必须添加语音和视频流到这个应用程序! I ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.