В Azure (или из VS) диалоговое окно для создания новых сообщений внутри очереди сообщает, что срок действия сообщения истекает через 7 дней, но он исчезает менее чем за несколько секунд. Почему? (Я создал непрерывно работающее веб-задание, как описано в Эта статья)
Сообщение исчезнет, потому что оно было использовано вашим веб-заданием. Задержка хранения означает, что у вас есть X дней для использования сообщения (в вашем случае 7 дней). По истечении задержки сообщение автоматически удаляется.
Если вам нужно несколько потребителей для ваших сообщений, вместо очереди, вы можете использовать служебную шину с подпиской или темами или концентратор событий с группами потребителей.
Вы также можете добавить initialVisibilityDelay, если ваша цель - искусственно отложить потребление - см. stackoverflow.com/a/45631083/4148708
Сообщения остаются в очереди служебной шины или подписке на тему до тех пор, пока они не будут обработаны, т. Е. Получены в режим приема и удаления получателем.
Сообщение не будет удалено из очереди, если оно получено в режиме блокировки просмотра.
В вашем случае, поскольку сообщение обрабатывается веб-заданием, оно не было доступно в очереди.
Сообщения также имеют свойство время жить по умолчанию, которое может быть установлено, после чего сообщение будет перемещено по пути недоставленных сообщений того же объекта обмена сообщениями (очередь или подписка на тему). utc будет перемещен в путь мертвой буквы с указанием причины мертвой буквы TTLExpiration
Веб-задание сразу начало обрабатывать сообщение? Это работает так: когда оно начинает обработку, сообщение на некоторое время скрывается из очереди, а затем снова становится видимым, если обработка не завершена вовремя или завершается с ошибкой.