Обычные причины, по которым сообщение является недопустимым:
- Превышено максимальное число переходов
- Идентификатор сеанса равен нулю
- TTLExpiredException
- HeaderSizeExceeded
Сообщения также могли быть заброшены из-за некоторых ошибок при получении сообщения из очереди. Как упоминал Шон Фельдман, изучение свойств DeadLetterReason и DeadLetterDescription поможет вам четко диагностировать причину ошибки.
Также попытайтесь увеличить или установить время жизни отправленного сообщения, если DeadLetterReason имеет значение TTLExpiredException. Потому что, если вы установили время жизни сообщения на более низкое значение, тогда оно переопределит свойство времени жизни в очереди.
Проверьте, находится ли в очереди очередь, в которой сообщения становятся мертвыми буквамиявляется очередью с включенным сеансом, и отправленное сообщение имеет установленное значение идентификатора сеанса.