无法连接到.NET Core 3.1中的远程SignalR集线器

罗尔

我正在尝试托管一个远程SignalR集线器。我创建了.NET Core 3.1 Web API应用程序,在Startup类中具有以下代码。

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();

    services.AddCors(options => options.AddPolicy("CorsPolicy",
    builder =>
    {
        builder
            .AllowAnyMethod()
            .AllowAnyHeader()
            .AllowAnyOrigin();
    }));

    services.AddSignalR();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseRouting();
    app.UseStaticFiles();

    app.UseCors("CorsPolicy");

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapHub<KappHub>("/myHub");
    });
}

应启用CORS以接受所有来源。在这个项目中,我创建了一个静态的index.html文件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <h1>Kapp Folc Local Tester</h1>
    <script src="js/signalr/dist/browser/signalr.js"></script>
    <script>
        var connection = new signalR.HubConnectionBuilder().withUrl("/myHub").build();

        connection.start().then(function () {
            console.log('OK');
        }).catch(function (err) {
            console.log(err);
        });
    </script>
</body>
</html>

这样很好!当我深入研究开发人员工具时,我可以看到我的网页发布到https:// localhost:5001 / myHub / negotiate?negotiateVersion = 1,并且得到200响应。SignalR在这里很棒!

当我使用邮递员或任何其他REST客户端时,将其发布到https:// localhost:5001 / myHub / negotiate?negotiateVersion = 1,它可以正常工作并且得到响应。

现在,我创建第二个.NET核心Web api项目,该项目还包含一个静态index.html文件以及signalr.js脚本。但是,该项目未托管SignalRhub,但我正尝试从第一个项目连接到signalR集线器。index.html是我的第一个项目的html的精确副本,但具有从我的第一个项目到signalR集线器的连接字符串。看起来像这样:

var connection = new signalR.HubConnectionBuilder().withUrl("https://localhost:5101/myHub").build();

我的第二个项目中的启动看起来像这样:

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseRouting();
    app.UseStaticFiles();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

当我运行该项目并从第二个项目导航至index.html时,它无法从第一个项目连接至signalR集线器。在开发人员工具中,我得到的状态为“(失败)net :: ERR_FAILED”,没有任何其他信息。

上面的示例使用SSL(https)。同样,在http模式下运行两个解决方案时,我也会遇到相同的问题。

Xueli Chen

像这样设置您的CORS:

services.AddCors(options => options.AddPolicy("CorsPolicy",
                   builder =>
                   {
                       builder
                           .WithOrigins("https://localhost:44339/")
                           .AllowAnyHeader()
                           .AllowAnyMethod()
                           .AllowCredentials()
                           .SetIsOriginAllowed((host) => true);
    }));

注意顺序!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法通过System.Net.FtpWebRequest.GetRequestStream()连接到远程服务器

来自分类Dev

无法连接到远程JMX

来自分类Dev

SignalR .NET客户端连接到Blazor .NET Core 3应用程序中的Azure SignalR服务

来自分类Dev

Dockerized Asp.net Core无法连接到WSL中的主机的Kafka

来自分类Dev

ASP.NET Core 3.0 MVC连接中的SignalR是否仍然无法正常工作?

来自分类Dev

无法连接到.NET Core 3.x中的数据库(appsettings.json中的连接字符串)

来自分类Dev

将NodeJS应用连接到SignalR(使用.NET Core 3)

来自分类Dev

ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

来自分类Dev

无法将在端口上运行的SignalR客户端连接到.NET Core 2.2服务器

来自分类Dev

.NET Core 3中的ExecuteSqlRaw参数查询

来自分类Dev

无法从Docker中的ASP.NET Core 3.1连接到内部SQL Server

来自分类Dev

无法将具有EFCore Mysql提供程序的Docker中的Asp.net Core WebApi连接到主机服务器上的非Docker Mysql

来自分类Dev

Azure上的.NET Core无法连接到SQL Server数据库

来自分类Dev

无法通过自定义运行时在Docker中运行.NET Core应用的App Engine连接到Google Cloud SQL中的Postgres

来自分类Dev

使用C#.Net Core连接到远程Jaegertracing

来自分类Dev

Blazor无法连接到ASP.NET Core WebApi(CROS)

来自分类Dev

如何在Asp .Net Core SignalR集线器中获取承载令牌?

来自分类Dev

无法通过Web API .NET Core连接到SQL Server Docker容器

来自分类Dev

处理Asp.Net Core 3.1中SignalR集线器中的所有异常

来自分类Dev

如何使.Net Framework SignalR客户端连接到.Net Core SignalR服务器?

来自分类Dev

为什么在C#.Net Core 3中连接到MySql时出现错误

来自分类Dev

无法连接到集线器

来自分类Dev

远程桌面-无法从我的3台工作计算机中的1台连接到远程计算机

来自分类Dev

如何在Ubuntu Core Raspberry Pi 3中连接到WPA2企业WiFi

来自分类Dev

无法连接到远程MQ

来自分类Dev

服务总线 NET Core 客户端(NET Standard 客户端)。无法连接到本地服务总线实例

来自分类Dev

Signalr - 无法从子目录连接到集线器

来自分类Dev

无法从 javascript 连接到 ASP.NET Core websocket

来自分类Dev

从 .Net 4.8 WPF 客户端连接到 .Net Core 2.2 Web API SignalR 集线器挂起

Related 相关文章

  1. 1

    无法通过System.Net.FtpWebRequest.GetRequestStream()连接到远程服务器

  2. 2

    无法连接到远程JMX

  3. 3

    SignalR .NET客户端连接到Blazor .NET Core 3应用程序中的Azure SignalR服务

  4. 4

    Dockerized Asp.net Core无法连接到WSL中的主机的Kafka

  5. 5

    ASP.NET Core 3.0 MVC连接中的SignalR是否仍然无法正常工作?

  6. 6

    无法连接到.NET Core 3.x中的数据库(appsettings.json中的连接字符串)

  7. 7

    将NodeJS应用连接到SignalR(使用.NET Core 3)

  8. 8

    ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

  9. 9

    无法将在端口上运行的SignalR客户端连接到.NET Core 2.2服务器

  10. 10

    .NET Core 3中的ExecuteSqlRaw参数查询

  11. 11

    无法从Docker中的ASP.NET Core 3.1连接到内部SQL Server

  12. 12

    无法将具有EFCore Mysql提供程序的Docker中的Asp.net Core WebApi连接到主机服务器上的非Docker Mysql

  13. 13

    Azure上的.NET Core无法连接到SQL Server数据库

  14. 14

    无法通过自定义运行时在Docker中运行.NET Core应用的App Engine连接到Google Cloud SQL中的Postgres

  15. 15

    使用C#.Net Core连接到远程Jaegertracing

  16. 16

    Blazor无法连接到ASP.NET Core WebApi(CROS)

  17. 17

    如何在Asp .Net Core SignalR集线器中获取承载令牌?

  18. 18

    无法通过Web API .NET Core连接到SQL Server Docker容器

  19. 19

    处理Asp.Net Core 3.1中SignalR集线器中的所有异常

  20. 20

    如何使.Net Framework SignalR客户端连接到.Net Core SignalR服务器?

  21. 21

    为什么在C#.Net Core 3中连接到MySql时出现错误

  22. 22

    无法连接到集线器

  23. 23

    远程桌面-无法从我的3台工作计算机中的1台连接到远程计算机

  24. 24

    如何在Ubuntu Core Raspberry Pi 3中连接到WPA2企业WiFi

  25. 25

    无法连接到远程MQ

  26. 26

    服务总线 NET Core 客户端(NET Standard 客户端)。无法连接到本地服务总线实例

  27. 27

    Signalr - 无法从子目录连接到集线器

  28. 28

    无法从 javascript 连接到 ASP.NET Core websocket

  29. 29

    从 .Net 4.8 WPF 客户端连接到 .Net Core 2.2 Web API SignalR 集线器挂起

热门标签

归档