将 SignalR 控制台客户端连接到 Azure 上的服务器

问题描述

我想使用 SignalR 部署服务器(在 Azure 上)。 以及控制台客户端,以便它接受来自服务器的命令。

服务器代码取自此处:https://docs.microsoft.com/ru-ru/aspnet/signalr/overview/getting-started/tutorial-getting-started-with-signalr

此处的控制台客户端示例:https://www.codeproject.com/Articles/804770/Implementing-SignalR-in-Desktop-Applications

using Microsoft.AspNet.SignalR.Client;
using System;

namespace SignalRClient
{
    class Program
    {
        static void Main(string[] args)
        {
            IHubProxy _hub;
            string url = @"https://signalrchatmsdn20210410135946.azurewebsites.net/";
            //string url = @"http://localhost:62545";
            var connection = new HubConnection(url);
            _hub = connection.CreateHubProxy("BetHub");
            connection.Start().Wait();

            _hub.On("ReceiveLength",x => Console.WriteLine(x));

            string line = null;
            while ((line = System.Console.ReadLine()) != null)
            {
                _hub.Invoke("DetermineLength",line).Wait();
            }

            Console.Read();
        }
    }
}

如果我在本地运行服务器,一切正常(string url = @"http://localhost:62545";) 如果我在 Azure 上运行服务器,它会通过浏览器运行。但是控制台客户端抛出异常。 System.Net.WebException

解决方法

jdweng 绝对正确。

就我而言,更改部署设置就足够了。

TLS\SSL 设置 => 仅 HTTPS:关闭