Исключение Socket при передаче данных в EventHub в Xamarin - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь передать данные из приложения Xamarin в EventHub. Проблема в том, что приложение никогда не перехватывает SocketException. Я постоянно испытываю плохое соединение inte rnet и иногда нет соединения, поэтому SocketException регулярно возникает с ошибкой ' не удается связаться с хостом '.

     Main Function;
      try
        {
          SendMessageToEventHub().GetAwaiter().GetResult();
          //I know i shouldn't be using GetAwaiter().GetResult() here in the main 
          //function but this is just for the test.
        }
      catch(Exception e)
        {
            //Never reaches here.
        }

Я понял, что SocketException является асинхронным исключением, поэтому я попытался сделать весь код синхронным, но безуспешно.

     public async Task SendMessageToEventHub()
    {
        var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
        {
            EntityPath = EventHubName
        };
        eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
        eventClientDatas = new List<EventClientData>();
        var eventClientData = new EventClientData() { id = null, timestamp = DateTime.UtcNow, mac = "test", nodeMac = "", rawData = "", rssi = 12, type = "Phone" };
        eventClientDatas.Add(eventClientData);
        Console.WriteLine($"Sending Message: {eventClientData}");
        await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventClientDatas))));
        await eventHubClient.CloseAsync();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...