Поделиться через


<msmqIntegration>

Задает транспорт MSMQ для пользовательской привязки.

<настройка>
  <system.serviceModel>
    <Привязки>
      <Custombinding>
        <Привязки>
          <msmqIntegration>

Синтаксис

<msmqIntegration customDeadLetterQueue="Uri"
                 deadLetterQueue="Custom/None/System"
                 durable="Boolean"
                 exactlyOnce="Boolean"
                 manualAddressing="Boolean"
                 maxBufferPoolSize="Integer"
                 maxImmediateRetries="Integer"
                 maxReceivedMessageSize="Integer"
                 maxRetryCycles="Integer"
                 rejectAfterLastRetry="Boolean"
                 retryCycleDelay="TimeSpan"
                 serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
                 timeToLive="TimeSpan"
                 useSourceJournal="Boolean"
                 useMsmqTracing="Boolean">
  <msmqTransportSecurity>
  </msmqTransportSecurity>
</msmqIntegration>

Тип

Type

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Описание
customDeadLetterQueue Универсальный код ресурса (URI), который указывает местоположение очереди недоставленных сообщений для каждого приложения, куда пересылаются устаревшие сообщения или сообщения, которые не удалось доставить приложению.

Для сообщений, которые требуют гарантии ExactlyOnce (это означает, что атрибут exactlyOnce имеет значение true), этот атрибут по умолчанию указывает на транзакционную очередь недоставленных сообщений MSMQ для всей системы.

Для сообщений, которые не требуют гарантии (это означает, что атрибут exactlyOnce имеет значение false), этот атрибут по умолчанию имеет значение null.

В значении должна использоваться схема net.msmq. Значение по умолчанию — null.

Если атрибут deadLetterQueue имеет значение None или System, то этот атрибут должен иметь значение null. Если значение этого атрибута не равно null, тогда атрибут deadLetterQueue должен иметь значение Custom.
deadLetterQueue Задает тип используемой очереди недоставленных сообщений.

Допустимы следующие значения:

— Настраиваемая: настраиваемая очередь недоставленных сообщений.
— Нет: очередь недоставленных сообщений не используется.
— Система: используйте очередь системных недоставленных сообщений.

Это атрибут типа DeadLetterQueue.
durable Логическое значение, указывающее, являются ли сообщения, обрабатываемые этой привязкой, постоянными или переменными. Значение по умолчанию — true.

Постоянное сообщение сохраняется после сбоя диспетчера очередей, а переменное сообщение — нет. Переменные сообщения используются, если для приложений требуются небольшие задержки, и приложения допускают периодические потери сообщений.

Если свойству exactlyOnce присвоено значение true, сообщения должны быть устойчивыми.
exactlyOnce Логическое значение, указывающее, будут ли сообщения, обрабатываемые этой привязкой, получаться только один раз. Значение по умолчанию — true.

Сообщение может быть отправлено с гарантией или без нее. Гарантия сообщает приложению о том, что отправленное сообщение достигло очереди полученных сообщений, а если этого не произошло, приложение может определить это, считывая очередь недоставленных сообщений.

Атрибут exactlyOnce со значением true указывает, что служба MSMQ обеспечивает доставку отправленного сообщения в очередь полученных сообщений только один раз, и если доставка завершается сбоем, сообщение направляется в очередь недоставленных сообщений.

Сообщения, отправленные со свойством exactlyOnce, имеющим значение true, должны отправляться только в транзакционную очередь.
manualAddressing Логическое значение, позволяющее пользователю взять на себя управление адресацией сообщений. Это свойство обычно используется в сценариях с маршрутизаторами, в которых приложение определяет, в какое из нескольких назначений должно быть отправлено сообщение.

Если атрибут имеет значение true, канал предполагает, что для сообщения уже задан адрес, и не добавляет к нему никаких дополнительных сведений. После этого пользователь может адресовать каждое сообщение по отдельности.

Если атрибут имеет значение false, используемый по умолчанию механизм адресации Windows Communication Foundation (WCF) автоматически создает адреса для всех сообщений.

Значение по умолчанию — false.
maxBufferPoolSize Положительное целое число, указывающее максимальный размер буферного пула. Значение по умолчанию — 524288.

Многие элементы WCF используют буферы. При создании буферов и их уничтожении после каждого использования расходуется слишком много ресурсов; при сборке мусора для буферов также расходуется слишком много ресурсов. Буферные пулы позволяют брать буфер из пула, использовать его, а затем возвращать обратно, когда он больше не требуется. Это позволяет избежать излишней нагрузки, связанной с созданием и уничтожением буферов.
maxImmediateRetries Целое число, указывающее максимальное число немедленных повторных попыток для сообщения, считываемого из очереди приложения. Значение по умолчанию — 5.

Если для сообщения выполнено максимальное количество немедленных повторных попыток считывания и это сообщение не поступило в приложение, оно отправляется в очередь повторного выполнения для считывания в другое время. Если циклы повторных попыток не заданы, то сообщения либо отправляются в очередь подозрительных сообщений, либо отправителю посылается уведомление об ошибке передачи.
maxReceivedMessageSize Положительное целое число, определяющее максимальный размер сообщения (в байтах), включая заголовки. Отправитель сообщения получает ошибку протокола SOAP, когда размер сообщения оказывается слишком большим для получателя. Получатель отклоняет сообщение и создает запись о событии в журнале трассировки. Значение по умолчанию — 65536.
maxRetryCycles Целое число, которое задает максимальное количество циклов повторных попыток доставки сообщения в получающее приложение. Значение по умолчанию — MaxValue.

В одном цикле повторений выполняется попытка доставить сообщение приложению заданное число раз. Число выполняемых попыток устанавливается атрибутом maxImmediateRetries. Если сообщение не удается доставить приложению после выполнения максимального количества попыток, оно помещается в очередь повторного выполнения. В дальнейшем сообщение возвращается из очереди повторного выполнения в очередь приложения в попытке повторной доставки приложению. Это выполняется после задержки, заданной атрибутом retryCycleDelay. Атрибут maxRetryCycles задает число повторных циклов, в ходе которых приложение пытается доставить сообщение.
rejectAfterLastRetry Логическое значение, которое задает, какое действие следует предпринять для сообщения, которое не удалось доставить после максимального числа повторных попыток.

true означает, что отправителю отправляется уведомление об ошибке передачи, и сообщение удаляется; false означает, что сообщение посылается в очередь подозрительных сообщений. Значение по умолчанию — false.

Если значение равно false, получающее приложение может прочитать очередь подозрительных сообщений, чтобы обработать подозрительные сообщения (то есть сообщения, которые не удалось доставить).

Служба MSMQ 3.0 не поддерживает возврат уведомлений об ошибке передачи отправителю, поэтому в MSMQ 3.0 этот атрибут пропускается.
retryCycleDelay Значение TimeSpan, которое задает временную задержку между циклами повторения при попытке доставить сообщение, которое не удалось доставить немедленно. Значение по умолчанию - 00:10:00.

В одном цикле повторений попытка доставить сообщение принимающему приложению выполняется заданное число раз. Число выполняемых попыток устанавливается атрибутом maxImmediateRetries. Если приложению не удается получить сообщение после выполнения заданного количества немедленных повторных попыток, сообщение помещается в очередь повторного выполнения. В дальнейшем сообщение возвращается из очереди повторного выполнения в очередь приложения в попытке повторной доставки приложению. Это выполняется после задержки, заданной атрибутом retryCycleDelay. Число циклов повторных попыток устанавливается атрибутом maxRetryCycles.
serializationFormat Задает модуль форматирования, используемый для сериализации объектов, отправляемых как часть сообщения MSMQ. Допустимы следующие значения:

— ActiveX: модуль форматирования ActiveX используется при сериализации COM-объектов.
— Binary: сериализует объект в двоичный пакет.
— ByteArray: сериализует объект в массив байтов.
— Stream: сериализует объект в поток.
— Xml: сериализует объект в XML-пакет. Значение по умолчанию - XML.

Это атрибут типа MsmqMessageSerializationFormat.
timeToLive Значение TimeSpan, указывающее, как долго сообщения остаются действительными до истечения их срока, после чего они переводятся в очередь недоставленных сообщений. Значение по умолчанию - 1.00:00:00, что означает один день.

Этот атрибут устанавливается для предотвращения устаревания срочных сообщений до их обработки получающими приложениями. Сообщение в очереди, которое не поступает в принимающее приложение в пределах заданного интервала времени, считается устаревшим. Устаревшие сообщения отправляются в специальную очередь, называемую очередью недоставленных сообщений. Расположение очереди недоставленных сообщений задается атрибутом customDeadLetterQueue, или оно устанавливается на основании гарантий в соответствующее значение по умолчанию.
useMsmqTracing Логическое значение, указывающее, должна ли выполняться трассировка сообщений, обрабатываемых этой привязкой. Значение по умолчанию — false.

Если трассировка включена, каждый раз, когда сообщение отправляется с компьютера службы очередей или поступает на этот компьютер, создаются сообщения-отчеты, которые затем отправляются в очередь отчетов.
useSourceJournal Логическое значение, указывающее, должны ли сохраняться в очереди журнала источника копии сообщений, обрабатываемых этой привязкой. Значение по умолчанию — false.

Использующие очереди приложения, которым нужно хранить запись сообщений, покинувших очередь исходящих сообщений компьютера, могут копировать сообщения в журнал компьютера. После того как сообщение покинуло очередь исходящих сообщений, и появилось подтверждение приема сообщения конечным компьютером, в очереди системного журнала компьютера-отправителя сохраняется копия сообщения.

Дочерние элементы

Элемент Описание
msmqTransportSecurity Задает параметры безопасности транспорта для этой привязки. Это элемент типа MsmqTransportSecurityElement.

Родительские элементы

Элемент Описание
<Привязки> Определяет все возможности пользовательской привязки.

См. также раздел