Обнаружение того, было ли отправлено сообщение EventHub - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над приложением, которое отправляет события через Azure Event Hub.Задача, которая отправляет сообщение, ожидалась, и я использовал ContinueWith для регистрации того, что событие отправлено.При запуске с правилом межсетевого экрана для Azure событие успешно отправляется, но без правила оно не отправляется.Однако в обеих ситуациях вывод на консоль одинаковый, сообщая, что событие отправлено.

Как узнать, было ли событие успешно отправлено в концентратор событий, или нет, чтобы программа могла выполнять соответствующие действия?

Код, который отправляет событие:

try {
    eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
    Task t = eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(message)));
    await t.ContinueWith(delegate {
        log.Info($"Azure Event sent");
        });
    }
    catch (Exception e) {
    Console.WriteLine($"{DateTime.Now} > EventSender-exception {e.Message}");
    }

1 Ответ

0 голосов
/ 13 сентября 2018

Это не ответ на основной вопрос, но, поскольку речь шла о теге async-await, а код не соответствует рекомендациям не смешивать API-интерфейсы задач .NET 4.0 старого стиля с async-await, здесь идет речь:

try
{
    eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());

    await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(message)));

    log.Info($"Azure Event sent");
}
catch (Exception e)
{
    Console.WriteLine($"{DateTime.Now} > EventSender-exception {e.Message}");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...