Code: Select all
private Task MessagesAsync(CancellationToken cancelToken) => Task.Run(() =>
{
while (!cancelToken.IsCancellationRequested)
{
var message = this.routerSocket.ReceiveMultipartMessage();
if (message is null)
continue;
switch (MessageType)
{
case Email:
OnSendEmail(message);
break;
case SMS:
OnSendSMS(message);
break;
// (Other code)
this.routerSocket.SignalOK();
}
}
}, cancelToken);
Code: Select all
private void OnSendEmail(String message)
{
try
{
EmailService.SendEmail(message); // Will throw exception.
}
catch (Exception ex)
{
this.publisherSocket.SendMultipartMessage(ex.Message); // Will send UI notification
}
}
Mobile version