Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core ASP.NET核心信号器redis Backpain_Asp.net Core_Redis_Signalr_Asp.net Core Signalr_Signalr Backplane - Fatal编程技术网

Asp.net core ASP.NET核心信号器redis Backpain

Asp.net core ASP.NET核心信号器redis Backpain,asp.net-core,redis,signalr,asp.net-core-signalr,signalr-backplane,Asp.net Core,Redis,Signalr,Asp.net Core Signalr,Signalr Backplane,多台服务器上的信号集线器无法通信 我在这里工作就是一个例子: 在单个服务器上提供通信。redis连接发布/订阅工作正常 我想在多台服务器上的相同项目中的集线器上进行通信 public void ConfigureServices(IServiceCollection services) { services.AddMvc(); var signalR = services.AddSignalR(); signalR.AddStackExc

多台服务器上的信号集线器无法通信

我在这里工作就是一个例子:

在单个服务器上提供通信。redis连接发布/订阅工作正常

我想在多台服务器上的相同项目中的集线器上进行通信

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();
    }
public void配置服务(IServiceCollection服务)
{
services.AddMvc();
var signalR=services.AddSignalR();
signal.AddStackExchangeRedis(选项=>
{
options.Configuration.ChannelPrefix=“ChannelName”;
options.Configuration.EndPoints.Add(“127.0.0.1”,6379);
options.Configuration.ClientName=“ClientNameSignalR”;
options.Configuration.AllowAdmin=true;
});
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.usesignator(配置=>
{
config.MapHub(“/message”);
});
app.UseMvc();
}

解决方案名称必须相同

您所说的“信号集线器无法通信”到底是什么意思?从一台服务器发送的消息不会传递到另一台服务器的客户端?我解释为“通信是在一台服务器上提供的”,即每台服务器的客户端确实接收该服务器发送的消息。你能提供消息发送代码吗?项目的名称应该是相同的。redis将项目名称添加到通道名称中。因为不同的项目名称在不同的频道上,它们不能发送消息。解决方案名称是什么意思?我在一个解决方案下有两个web和api项目,但是,我分别托管了它们,并且希望进行通信。它们在一个解决方案下正常工作。为了使多个解决方案协同工作,它们必须具有相同的名称。那么,是否不可能沟通不同的项目?我需要将Blazor服务器项目与Blazor Wasm项目进行通信,但它们生成了不同的通道:(