В облаке запущена рабочая роль, которая периодически опрашивает Azure CloudQueue, получая сообщения, которые веб-роль поставила для нас. В настоящее время рабочая роль и веб-роль размещены в одном и том же приложении облачной службы, и в настоящее время мы используем только один экземпляр.
Во время тестирования у нас включено ведение журнала, поэтому содержимое сообщений и другая полезная информация отображаются в нашем облачном хранилище, которое мы просматриваем с помощью Cerebrata Azure Diagnostics Manager. (Большой продукт между прочим)
DiagnosticMonitorConfiguration diagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration ();
diagConfig.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
На самом деле все работает замечательно, но иногда мы видим подробное сообщение в журнале трассировки, в котором просто "Fail". Код, из которого он создается, обернут в попытку, поэтому странно, что мы не видим сообщение этими средствами.
Может показаться, что происходит что-то, что находится вне контроля нашего кода, возможно, рабочая роль перезапускается, или облачная операционная система обнаруживает серьезную ошибку, с которой может справиться только перезапуск нашей рабочей роли. Оно восстанавливается и продолжает действовать, поэтому для нас является загадкой, что может происходить.
Что мы еще не выяснили, так это то, что мы теряем сообщение.
Любая помощь будет с благодарностью.
ура
Киндо Малайский