Когда мы активируем дублирование, служебная шина Windows Azure начнет хранить историю наших сообщений. Этот период времени может быть настроен на диапазон от нескольких минут до нескольких дней. Если дубликат сообщения отправляется на служебную шину, служба автоматически игнорирует это сообщение.
В нашем случае, в большинстве сценариев обнаружение дубликатов хорошо, но в некоторых это было плохо (особенно с 10-минутным диапазоном). Чтобы обойти это, мы ввели «прерыватель»:
Задайте значение в свойстве messageId служебной шины, как показано ниже
msg.MessageId = messageId + "_" + DateTime.Now.ToString("u");
Если вы просто хотите предотвратить «рассылку спама», вы можете установить минимальное окно обнаружения дубликатов (20 секунд). (Лично я хотел бы, чтобы порог составлял всего 5 секунд).
Допустимые значения: от 20 секунд до 7 дней.