signalr-hub 相关问题

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

如何在.Net 6 中使用 SignalR 和 Claudia 传输 Claude 响应

我正在尝试使用 Claude 和 SignalR 建立聊天。我们使用的是 .Net 6,目前无法升级到 .Net 8。我发现 Claudia 应该支持 .Net 6,但示例代码...

回答 1 投票 0

集线器无法通过 SignalR Core 中的事件调用客户端上的方法

我使用 ASP.Net Core 获得了一个基本的 Web 应用程序,在其中初始化了我的 SignalR 集线器。 中心看起来像这样: 内部类 SignalRTransceiverServer : Hub 我使用 ASP.Net Core 获得了一个基本的 Web 应用程序,我在其中初始化了我的 SignalR 集线器。 集线器看起来像这样: internal class SignalRTransceiverServer : Hub<ITransceiver<DataRecord, List<DataRecord>>>, ITransmitter<DataRecord> { public async Task SendDataPackage(DataRecord package) { Console.WriteLine(package); try { await Clients.All.GetDataPackage(new List<DataRecord>() { package }); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } ITransceiver 接口如下所示: public interface ITransceiver<T, R> : IReceiver<R>, ITransmitter<T> { } 虽然 IReceiver 有一个事件,应该被触发(对于客户端应用程序),但当新数据到达时: public interface IReceiver<T> { /// <summary> /// Gets a data package of <typeparamref name="T"/>. The parameter is for API's, which pass the arguments directly /// (via RPC e.g.) into the method. Invokes the DataReceived event. /// </summary> /// <param name="package">An optional package parameter, if the underlaying mechanism needs to pass the data directly into /// the function.</param> public Task GetDataPackage(T? package); public event EventHandler<T> DataReceived; } 现在,当我尝试通过集线器上的 RPC 调用 GetDataPackage 方法时,它会抛出以下错误: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[8] Failed to invoke hub method 'SendDataPackage'. System.InvalidOperationException: Type must not contain events. at Microsoft.AspNetCore.SignalR.Internal.TypedClientBuilder`1.VerifyInterface(Type interfaceType) at Microsoft.AspNetCore.SignalR.Internal.TypedClientBuilder`1.VerifyInterface(Type interfaceType) at Microsoft.AspNetCore.SignalR.Internal.TypedClientBuilder`1.GenerateClientBuilder() at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode) --- End of stack trace from previous location --- at System.Lazy`1.CreateValue() at Microsoft.AspNetCore.SignalR.Internal.TypedClientBuilder`1.Build(IClientProxy proxy) at TestHub.SignalRTransceiverServer.SendDataPackage(DataRecord package) in D:\dat.eE\Praktikum.RH\TestHub\SignalRTransceiverServer.cs:line 25 at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.ExecuteMethod(ObjectMethodExecutor methodExecutor, Hub hub, Object[] arguments) at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.<Invoke>g__ExecuteInvocation|18_0(DefaultHubDispatcher`1 dispatcher, ObjectMethodExecutor methodExecutor, THub hub, Object[] arguments, AsyncServiceScope scope, IHubActivator`1 hubActivator, HubConnectionContext connection, HubMethodInvocationMessage hubMethodInvocationMessage, Boolean isStreamCall) 我的意思是我理解这个错误(只需删除 IReceiver 中的事件),但为什么 SignalR Core 不允许目标类型中的事件?如果可能的话,我怎样才能绕过它,同时仍然使用事件? 我找到了最简单的解决方法:只需使用普通的 Hub 类即可。 代替: internal class SignalRTransceiverServer : Hub<ITransceiver<DataRecord, List<DataRecord>>>, ITransmitter<DataRecord> 以及具体的RPC调用与具体方法: await Clients.All.GetDataPackage(new List<DataRecord>() { package }); 我现在用: internal class SignalRTransceiverServer : Hub, ITransmitter<DataRecord> 这会产生这样的 RPC: await Clients.All.SendAsync("GetDataPackage", new List<DataRecord>() { package }); 仍然有一个问题,为什么会这样。

回答 1 投票 0

.NET 8 SignalR 中是否有相当于 HubName 的属性?

我有一个 SignalR Hub (.NET 8),为了与客户端上的代理正常工作,我需要使用类似以前版本中的 [HubName("hubname")] 将其名称设置为小写。 ..

回答 1 投票 0

SignalR:如果没有客户端方法,则不会调用 Hub OnConnected

我正在用 SignalR 编写一个游戏。这个想法是,你连接你的笔记本电脑,它将用作“显示器”,然后你连接你的智能手机,它将用作“操纵杆”。恩...

回答 3 投票 0

我可以从 Hub 获取多个 SignalR 客户端的结果吗

我想实现 SignalR 日志记录,服务器将定期 ping 所有客户端以获取任何累积的日志。 微软对此并不清楚:文档 我不明白的是如果有...

回答 1 投票 0

Serverless signalR:将用户添加到组并在上游同时向组发送消息

我写了下面的代码,希望将用户添加到组中,同时向该用户所在的组发送消息。我可以看到我的 Az 上的 signalR 刀片建立的连接...

回答 1 投票 0

无法成功初始化任何传输。尝试为自动初始化指定不同的传输方式或根本不指定传输方式

我没有在 hubConnection.start() 中指定任何传输,但仍然出现传输失败。 我使用的是 IE 10 和 IIS 8.0。谁能告诉我出了什么问题吗? 连接到 SignalR 服务的代码...

回答 1 投票 0

将 SignalR Server 上传到 Windows Server IIS

我使用 SignalR 作为实时技术,使用 .NET 6.0 完成了通知服务。我需要将此后端上传到 Windows Server,以便我可以尝试该项目,但是,当我上传时,我遇到了一些错误...

回答 1 投票 0

将 ASP.NET Core SignalR 与 Blazor 结合使用:错误收到无效的协商响应

我按照此链接中的 T 说明进行操作。但我不断收到错误消息: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer:警告:未处理的异常渲染组件...

回答 1 投票 0

使用 IHubContext 实例化 SignalR Hub 对象

SignalR Hub 的一大用途似乎是向所有其他客户端显示一个客户端的操作。我希望使用 SignalR 的目的是当我的服务器端代码中发生某个事件时,我

回答 2 投票 0

SignalR:InvalidDataException:将“目标”读取为字符串失败。'

尝试使用 Azure 身份平台在我的 Blazor Server 应用程序中实现聊天功能。 在本地我收到以下错误: 连接断开并出现错误“错误:服务器在 c... 上返回错误”

回答 1 投票 0

当我在 ASP.NET Core 中使用非控制器类时,SignalR 的客户端列表为空

我有一个 ASP.NET Core Web 服务和一个 Blazor 客户端。当我的方法在 Web 服务中的类(而不是控制器)中触发时,我想将数据发送给我的客户端。 当我使用控制器时,它...

回答 1 投票 0

如何在 ASP.NET MVC 中将参数和数据从控制器发送到 SignalR hub?

我使用 ASP.NET MVC。我想将数据从控制器发送到集线器以发送给客户端。我在控制器中编写了这段代码: 公共类 SampleController :控制器 { 私人只读 IHubCo...

回答 1 投票 0

游戏的实时 Web API 可以在 ASP.NET Core 和 SQL Server 中实现吗?

您能告诉我游戏的实时 Web API 是否可以在 ASP.NET Core 和 SQL Server 中实现吗? 我们正在开发的 Unity 游戏需要实时 Web API。我们正在使用 SQL

回答 1 投票 0

如何在 SignalR 中使用与 C# 代码中实际方法名称不同的方法名称?

考虑服务器端的这样的代码——它很脏,但工作正常: 公共接口 IBroadcastHub { 任务 CurrentTimeAsync(DateTimeOffset 时间); } 公共密封类 StrongBroadcastHub : Hu...

回答 1 投票 0

如何在 SignalR 中仅向两个用户发送消息

我希望当我向彼此发送消息时,两个人会像 signalR 组一样收到该消息,但我不使用组,我在没有组的情况下执行此操作 请任何人都可以告诉如何做到这一点

回答 1 投票 0

如何从Postman调用SignalR事件?

我想从Postman调用SignalR事件,我也经历过这个问题,但这对我没有帮助。 它给出了以下错误,出于安全原因我已将 URL 提到为 myUrl...

回答 1 投票 0

无法在 Blazor WebAssembly 项目中使用 SignalR / Hub 类

我创建了一个新的 Blazor WebAssembly 项目(目标框架:.NET 8.0、安装了 SDK 和托管包)并希望添加 Hub 功能以与其他客户端进行通信,但我很早就陷入了困境:

回答 1 投票 0

SignalR 以 Angular 方式向单个用户发送直接消息

我正在尝试使用 SignalR(.NET 6)和 Angular ~13 向特定用户实现直接消息,到目前为止我得到了很多有关实现的信息,但没有一个起作用。 所以在客户端(

回答 1 投票 0

如何获取SignalR群组成员列表及其详细信息?

我使用 SignalR 绑定将成员添加到 Azure 函数中的 SignalR 组,如下所示: 等待 signalRGroupActions.AddAsync( 新的 SignalRGroupAction { ConnectionId = 消息.Connecti...

回答 1 投票 0

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