private static void ProcessQueuedMessages()
{
try
{
while (true)
{
using (var context = new DataHandler())
{
try
{
var messages = GetMessagesToSend(context);
if (messages.Count() == 0)
break;
foreach (var message in messages)
{
ProcessMessage(message, context);
}
}
finally
{
context.SubmitChanges();
}
}
Debug.WriteLine("#Notification> End of iteration");
}
}
catch (Exception exception)
{
Debug.WriteLine("#Notification> Rootlevel Exception:" + exception.Message);
Logger.WriteException(exception);
}
finally
{
ProcessQueuedMessagesFinished();
}
}