C# 使用SignalR&;StackExchangeRedis

C# 使用SignalR&;StackExchangeRedis,c#,asp.net-core,stackexchange.redis,asp.net-core-signalr,C#,Asp.net Core,Stackexchange.redis,Asp.net Core Signalr,我正在处理一个使用ASP.NET Core 2.2构建的项目。主解决方案包含多个项目,其中包括API、web和其他类库 我们已经使用signar来显示API项目和web项目之间的共享消息/通知。例如,从API添加新员工记录应调用SignalR Hub,所有web客户端都应收到通知 为了实现通信,我们将Radis与Signal一起使用 // SignalR Configuration services.AddSignalR(option => { option.EnableDetai

我正在处理一个使用ASP.NET Core 2.2构建的项目。主解决方案包含多个项目,其中包括API、web和其他类库

我们已经使用signar来显示API项目和web项目之间的共享消息/通知。例如,从API添加新员工记录应调用SignalR Hub,所有web客户端都应收到通知

为了实现通信,我们将Radis与Signal一起使用

// SignalR Configuration
services.AddSignalR(option =>
{
    option.EnableDetailedErrors = true;
    option.KeepAliveInterval = TimeSpan.FromSeconds(3);
}).AddStackExchangeRedis(options =>
{
    options.Configuration.ChannelPrefix = "TestChannel";
    options.Configuration.EndPoints.Add("127.0.0.1", 6379);
    options.Configuration.ClientName = "ClientNameSignalR";
    options.Configuration.AllowAdmin = true;
});
当我尝试在Radis中获取客户列表时


现在,如何从web应用程序和API发送和接收消息

您共享的代码用于

如何从web应用程序和API发送和接收消息

要达到上述要求,您可以执行以下操作:

对于API项目和,您可以在API控制器中插入IHubContext实例,然后可以在控制器操作中访问IHubContext实例,并将消息/通知推送到客户端

对于您的web应用程序,您可以构建并实现SignalR JavaScript客户端功能以接收通知