signalr 相关问题

ASP.NET SignalR是ASP.NET开发人员的一个库,它使得为应用程序添加实时Web功能变得异常简单。什么是“实时网络”功能?它能够让您的服务器端代码实时地将内容推送到连接的客户端。

与 RabbitMQ 的全双工通信

我们有一个消息传递应用程序,它在 .NET Framework 服务上使用 SignalR 连接到各种客户端(浏览器中的本机移动 + web)。我们正在寻找可能取代 Sig...

回答 1 投票 0

Serilog 如何将 SignalR 的跟踪日志写入日志文件?

我有以下代码来启用 SignalR 调用的记录跟踪日志。但是,代码不起作用? 使用 Microsoft.Extensions.Logging; 使用 SeriLog; var seriLoglogger = new LoggerConfigurat...

回答 1 投票 0

SignalR - 如何向除呼叫者以外的所有人发送消息

我有一个 Aspmet 核心 3.1 MVC 应用程序,我在其中配置了一个 SignalR 集线器。 我有一个控制器,我在其中进行依赖注入 o IHubContext。 私人只读 IHubContext

回答 1 投票 0

如何使用带有信号器协商的 Azure 函数应用程序刷新角度视图

我在使用@aspnet/signalr-client 时遇到问题,我才刚刚开始,我不明白在哪里 SignalR 连接错误:错误:WebSocket 连接失败来自。连接...

回答 1 投票 0

SignalR 通知微服务 - 如何获取用户信息

我在 docker 容器中构建了一个小微服务,它基本上只是一个 API 可以连接到的集线器,以将通知推送到 blazor 客户端。因为它是一个微服务,它运行在...

回答 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

SignalR 响应服务器请求时“必须调用开始才能发送数据”

我有一些 SignalR 客户端代码,在收到服务器请求后调用服务器方法: var connection = new HubConnection(_hubAddress); var hubProxy = _hubConnection.

回答 4 投票 0

asp.net 核心:信号器:多个 tcpclients

我要跟上 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-7.0&tabs=visual-studio#queued-background-tasks-1 并为

回答 0 投票 0

WebSocket 超时的 SignalR 连接问题

客户端无法使用 SignalR 连接到服务器端。 状态一直是未连接。 连接前的信息: 信息:将 '/hub/test' 规范化为 'https://localhost:4200/hub...

回答 1 投票 0

如何在 SignalR Hub C# 中接收 UDP 套接字数据

我在我的 web 项目中用 SignalR 创建了一个集线器。在我的集线器类中,我想接收在端口号 4001 上发送的 udp 数据。请建议通过 udp 套接字接收数据的代码。我试着接待我们......

回答 1 投票 0

Asp.Net Core:信号器:队列:将组名传递到队列中

我有一个使用 signalr 的 asp.net 核心项目。我正在尝试通过队列将组名作为参数传递给我的后台服务。在我的中心,我写了一个函数来加入小组 n ...

回答 0 投票 0

.Net 6 - 哪个 C# SignalR 客户端/服务器包?

有人能告诉我应该为 .Net 6 C# SignalR Hub 项目和 .Net 6 C# SignalR 客户端项目使用什么 NuGet 包吗? 在客户端项目中,我尝试过: 有人能告诉我应该为 .Net 6 C# SignalR Hub 项目和 .Net 6 C# SignalR 客户端项目使用什么 NuGet 包吗? 在客户项目上,我试过: <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="6.0.14" /> 这似乎工作正常。这是一个 .Net 6 项目,所以我认为我应该使用最新的 6.x.x 包。它是否正确?那么我应该在服务器端项目中使用哪个“匹配”包呢? NuGet 中有很多垃圾包(V1.10、2.4.2)和没有意义的版本。 MS 网站上有几个不同的文档线程,其中包含相互矛盾的信息。 (所以是的,我确实尝试研究了这个......) 服务器端版本 2.4.3 有一个“流行”版本, <PackageReference Include="Microsoft.AspNet.SignalR" Version="2.4.3" /> 但我收到警告说它“可能”与 .Net 6 不兼容。它似乎有效,但不确定匹配这些不太可能的版本是最佳实践。 您希望版本 6 与 NetCore 6 一起使用是正确的。我觉得这并不明显。您可以通过比较突出显示的框架版本来验证它 https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR.Client/6.0.14#supportedframeworks-body-tab 下一个版本: https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR.Client/7.0.3#supportedframeworks-body-tab 并看到 SignalR.Client 版本 6 支持 net6,而客户端版本 7 支持 net7。 (并且,在依赖项选项卡上,您可以看到版本 7 将拖入 AspNet 7 依赖项) 服务器端 没有服务器端包,因为它包含在 AspNetCore 中,根据 https://learn.microsoft.com/en-us/aspnet/core/signalr/version-differences?view 上第一个表的右上角框=aspnetcore-6.0

回答 1 投票 0

在 Azure SQL 数据库中插入/更新/删除新记录时将更新推送到 SignalR 流中

我正在使用 SignalR 处理实时数据网格。我有一个 SignalR Hub。 客户端向服务器发送 GetStocks 消息。 服务器以项目的初始列表作为响应。 客户端订阅...

回答 1 投票 0

带有 C# .net 7 的 winforms 控制台中的 SignalR 服务器

我是 SignalR 的新手,我正在尝试在 .net 控制台上设置一个服务器,我将在 Win 服务器 2012 中执行它。我在 YouTube/Google 等网站上花了 3 天时间,但当我执行...

回答 0 投票 0

如何按特定时间更新sql db?

我有一个 sql 表,其中包含请求状态(注册、等待 1、等待 2 和 ...)。 用户有 30 分钟的时间来更新请求。如果他/她没有这样做,系统应该更新请求状态

回答 0 投票 0

如何使用 webRTC 和 signalR 将屏幕从一个页面共享到另一个网页?

这是场景,我有 2 个网址,比方说 网址 1 - http://mydomain/teacher/dashboard 网址 2 - http://mydomain/students/workspace 在 Url 1 中,用户只能共享屏幕,需要

回答 0 投票 0

未捕获(承诺)错误:无法解析裸说明符'@microsoft/signalr'

我想在 RazorPages web 中使用 signalR 在打字稿文件中: 从“@microsoft/signalr”导入 * 作为 signalR; 创建与集线器的连接。 const connection = new signalR.HubConnectionBuil...

回答 0 投票 0

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

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

回答 1 投票 0

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

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

回答 3 投票 0

SignalR 与 Python websocteks 返回 503

我在 ASP.NET Core 中创建了最简单的 Hub,并将其推送到包含以下代码的 Azure: 公共类 TestHub:Hub { } app.UseEndpoints(端点=> { endpoints.MapControllers();...

回答 0 投票 0

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