У меня есть приложение, в котором данные извлекаются из базы данных SQL и отправляются на служебную шину в виде брокерского сообщения. Вот шаги:
- Данные извлекаются из БД (пакетами по 1000)
- Каждая строка данных преобразуется в Брокерское сообщение и добавляется в список.
- Список из 1000 сообщений через посредника отправляется на служебную шину с помощью метода SendBatchAsync.
Именно на 3-м шаге я столкнулся с проблемой. Это код для этого:
public async Task SendMessagesAsync(List<BrokeredMessage> brokeredMessageList)
{
try
{
var topicClient = CreateTopicClient();
await topicClient.SendBatchAsync(brokeredMessageList);
}
catch(Exception ex)
{
throw ex;
}
}
когда компилятор приходит к методу SendBatchAsync, он выдает ошибку Ошибка при обмене данными с служебной шиной. Проверьте информацию о подключении и повторите попытку. с внутренним исключением:
Internal Server Error: The server did not provide a meaningful reply; this might be caused by a premature session shutdown. TrackingId:some guid here
Однако, если я пытаюсь отправить 100 сообщений, все работает нормально. Что я могу сделать, чтобы он отправлял 1000 сообщений за раз?
Примечание: размер каждого сообщения составляет 1445 байт.