微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SignalR .Net 客户端无法连接 https

如何解决SignalR .Net 客户端无法连接 https

我使用的是 SignalR Core 2.4.1.0。

这是一个 Owin 项目,自托管。

我的配置:

public void Configuration(IAppBuilder app)
    {
        app.Use(async (ctx,next) =>
        {
            Console.WriteLine($"Incoming: {ctx.Request.Path}");
           await next();
        });
        
        app.UseCors(CorsOptions.AllowAll);
        var hubConfiguration = new HubConfiguration();
        GlobalHost.Configuration.disconnectTimeout = TimeSpan.FromSeconds(10);
        
        hubConfiguration.EnableDetailedErrors = true;

        app.MapSignalR(hubConfiguration);

    }

我可以很好地从网络浏览器连接到 https://localhost:9999/signalr/hubs。

我也可以在不使用 https 时连接到 SignalR。 (删除 urlacl 后)

我也尝试在 SignalR 之前添加一个中间件来查看传入的请求。

使用 http,中间件显示请求和路径。

使用 https 时,中间件会显示来自 Web 浏览器的请求,但不会显示来自客户端的任何请求。

客户端只是将状态从连接更改为断开连接,没有异常。

我的测试客户端是 .Net 控制台应用程序:

var hub = new HubConnection("https://localhost:9999");
            
            var hubProxy = hub.CreateHubProxy("MyHUB");
            

            hub.Error += (e) =>
            {

            };

            hub.StateChanged += (s) =>
            {
                Console.WriteLine(s.NewState.ToString());
            };

            hub.Start();

            Console.ReadLine();

我以前使用过 SignalR,但这是我第一次尝试实现 ssl。

总而言之,.Net 客户端将通过 http 而不是 https 连接。
浏览器可以通过 https 连接到 JS 库,但我还没有尝试使用 JS 库。

T.I.A.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?