internal async Task StartAsync()
{
while (true)
{
try
{
var receivedMessage = await _deviceClient.ReceiveAsync(new TimeSpan(int.MaxValue));
if (receivedMessage == null)
continue;
foreach (var prop in receivedMessage.Properties)
{
await _display.WriteAsync($"{prop.Key} {prop.Value}");
}
await _deviceClient.CompleteAsync(receivedMessage);
var messageData = Encoding.ASCII.GetString(receivedMessage.GetBytes());
IotEvent?.Invoke(null, new IotEventArgs { EventData = receivedMessage.Properties, MessageData = messageData});
}
catch
{
//Write out to the display perhaps
}
}
}
}