Я делаю свою первую реализацию служебной шины в MVC.
- Веб-приложение MVC в Azure отправляет сообщения на служебную шину
- Локальное консольное приложение напомещения клиента забирают их.
Сеть клиента невероятно ненадежна.Мы ничего не можем с этим поделать.Следовательно, используя служебную шину.Кажется, что перебои в их сети приводят к тому, что служебная шина молча «умирает».Это может быть не связано.Прекращает отправку сообщений в очередь.Нет ошибокНо повторное развертывание приложения MVC, которое предположительно перезапускает пул приложений, разрешает его.
Этот код вызывается из метода синхронного веб-API и перестает работать примерно один раз в день без ошибок.
queueClient = new QueueClient(ServiceBusConnectionString, QueueName);
var message = new Message(Encoding.UTF8.GetBytes(messageBody));
var task = Task.Run(async () => { await queueClient.SendAsync(message); });
task.Wait();
У меня нет большого опыта работы с асинхронным кодом, и я подозреваю, что с этим что-то не так, или я должен использовать рабочий процесс.Хотя я и новичок в этом.
Ура, Крис.