ASP.NET 核心 SignalR redis 背板
ASP.NET Core SignalR redis backplain
多台服务器上的 signalR 集线器无法通信
以我在这里工作为例:
https://docs.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-2.2
在单个服务器上提供通信。 redis 连接 pub/sub 工作正常
我想在多个服务器上的相同项目中的集线器上进行通信
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var signalR = services.AddSignalR();
signalR.AddStackExchangeRedis(options =>
{
options.Configuration.ChannelPrefix = "ChannelName";
options.Configuration.EndPoints.Add("127.0.0.1", 6379);
options.Configuration.ClientName = "ClientNameSignalR";
options.Configuration.AllowAdmin = true;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseSignalR(config =>
{
config.MapHub<MessageHub>("/message");
});
app.UseMvc();
}
解决方案名称必须相同
多台服务器上的 signalR 集线器无法通信
以我在这里工作为例: https://docs.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-2.2
在单个服务器上提供通信。 redis 连接 pub/sub 工作正常
我想在多个服务器上的相同项目中的集线器上进行通信
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var signalR = services.AddSignalR();
signalR.AddStackExchangeRedis(options =>
{
options.Configuration.ChannelPrefix = "ChannelName";
options.Configuration.EndPoints.Add("127.0.0.1", 6379);
options.Configuration.ClientName = "ClientNameSignalR";
options.Configuration.AllowAdmin = true;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseSignalR(config =>
{
config.MapHub<MessageHub>("/message");
});
app.UseMvc();
}
解决方案名称必须相同