Я тестирую некоторые программы, которые я написал. Тест помещает сообщения в MSMQ через WCF со скоростью, превышающей скорость, с которой мое программное обеспечение может их обработать. Это не должно быть проблемой, так как это является целью MSMQ, но если я поставлю в очередь достаточно сообщений, на которые мое программное обеспечение уходит более 24 часов, эти сообщения будут перемещены в « транзакционные сообщения недоставленных сообщений"очередь и их класс установлен на" Время, которое должно быть получено, истекло".
Единственная конфигурируемая мной конфигурация - это сама привязка:
<bindings>
<netMsmqBinding>
<binding timeToLive="7.00:00:00" /> <!-- 7 days -->
...
Я использую эту привязку как при постановке в очередь, так и при снятии очереди, и она, похоже, не работает. Установка значения 2 секунды имеет эффект, но установка его дольше, чем 1 день, включая максимальное значение (24 дня), не имеет значения.
Есть ли другой способ удлинить это время получения? Я не могу найти ничего другого для настройки (при отправке сообщения или создании очереди).