Я получаю сообщение об ошибке «Ошибка протокола: неизвестный транспорт» в aws - PullRequest
0 голосов
/ 17 марта 2020

У меня есть aws ec2 экземпляр с конфигурацией signalR. Когда я пытаюсь соединить signalR с URL 'https://www.domainname.com/signalr/' от клиента c#, он не может позволить мне подключиться и вызвать ошибку "Ошибка протокола: неизвестный транспорт". Я использую. net Framework 4.5. Проект разрабатывался в 2018 году, затем он работал нормально в течение двух дней, прежде чем начал выдавать мне эту ошибку без каких-либо публикаций sh в проекте.

Код концентратора:

    [HubName("MyHub")]
    public class MyHub : Microsoft.AspNet.SignalR.Hub
    {
    public override Task OnConnected()
            {
                try
                {

                    string name = Context.QueryString["name"];
                    bool? IsServer = Convert.ToBoolean(Context.QueryString["isServer"]);
                    _connections.Add(name.ToUpper(), Context.ConnectionId);
                    Groups.Add(Context.ConnectionId, name.ToUpper());                
                }
                catch (Exception ex)
                {
                }
                return base.OnConnected();
            }

public override Task OnDisconnected(bool stopCalled)
        {
            try
            {
                string name = Context.QueryString["name"];
                _connections.Remove(name.ToUpper(), Context.ConnectionId);
                bool? IsServer = Convert.ToBoolean(Context.QueryString["isServer"]);
                log.Info("DISconnected name is : " + name + " : " + Context.ConnectionId);
                Groups.Remove(Context.ConnectionId, name.ToUpper());
            }
            catch (Exception ex)
            {
                log.Error("OnDisconnected error", ex);
            }
            return base.OnDisconnected(stopCalled);
        }
    }

Код клиента C#:

public void ConnectToHub(ClientInfo clientInfo)
        {
            try
            {
                bool isResponseCall = false;
                var url = "https://www.demo.com";
                var dict = new Dictionary<string, string>();
                dict.Add("name", "xyz");
                var hubConnection = new HubConnection(url, dict);
                var hub = hubConnection.CreateHubProxy("MyHub");
                hubConnection.Closed += () =>
                {
                    if (!isResponseCall)
                    {
                        ConnectToHub(serverInfo);
                    }
                };
                hubConnection.Error += (Exception ex) => {
                    ex = ex;
                };                
                hubConnection.Start().Wait();
            }
            catch (Exception)
            {
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...