<msmqTransport>
Заставляет канал передавать сообщения через транспорт MSMQ, если он включен в пользовательскую привязку.
<настройка>
<system.serviceModel>
<Привязки>
<Custombinding>
<Привязки>
<msmqTransport>
Синтаксис
<msmqTransport customDeadLetterQueue="Uri"
deadLetterQueue="Custom/None/System"
durable="Boolean"
exactlyOnce="Boolean"
manualAddressing="Boolean"
maxBufferPoolSize="Integer"
maxImmediateRetries="Integer"
maxPoolSize="Integer"
maxReceivedMessageSize="Integer"
maxRetryCycles="Integer"
queueTransferProtocol="Native/Srmp/SrmpSecure"
rejectAfterLastRetry="Boolean"
retryCycleDelay="TimeSpan"
timeToLive="TimeSpan"
useActiveDirectory="Boolean"
useSourceJournal="Boolean"
useMsmqTracing="Boolean"
...>
<msmqTransportSecurity>
</msmqTransportSecurity>
</msmqTransport>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
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. Если для сообщения выполнено максимальное количество немедленных повторных попыток считывания и это сообщение не поступило в приложение, оно отправляется в очередь повторного выполнения для считывания в другое время. Если циклы повторных попыток не заданы, то сообщения либо отправляются в очередь подозрительных сообщений, либо отправителю посылается уведомление об ошибке передачи. |
maxPoolSize | Положительное целое число, указывающее максимальный размер пула. Значение по умолчанию — 524288. |
maxReceivedMessageSize | Положительное целое число, определяющее максимальный размер сообщения (в байтах), включая заголовки. Отправитель сообщения получает ошибку протокола SOAP, когда размер сообщения оказывается слишком большим для получателя. Получатель отклоняет сообщение и создает запись о событии в журнале трассировки. Значение по умолчанию — 65536. |
maxRetryCycles | Целое число, которое задает максимальное количество циклов повторных попыток доставки сообщения в получающее приложение. Значение по умолчанию — MaxValue. В одном цикле повторений выполняется попытка доставить сообщение приложению заданное число раз. Число выполняемых попыток устанавливается атрибутом maxImmediateRetries . Если сообщение не удается доставить приложению после выполнения максимального количества попыток, оно помещается в очередь повторного выполнения. В дальнейшем сообщение возвращается из очереди повторного выполнения в очередь приложения в попытке повторной доставки приложению. Это выполняется после задержки, заданной атрибутом retryCycleDelay . Атрибут maxRetryCycles задает число повторных циклов, в ходе которых приложение пытается доставить сообщение. |
queueTransferProtocol | Задает использующий очереди транспорт коммуникационного канала, используемый этой привязкой. Допустимы следующие значения: — Native: используйте собственный протокол MSMQ. — Srmp: используйте протокол SOAP RELIABLE MESSAGING (SRMP). — SrmpSecure: используйте транспорт Soap Reliable Messaging Protocol Secure (SRMPS). Это атрибут типа QueueTransferProtocol. Так как MSMQ не поддерживает адресацию Active Directory при использовании протокола SOAP Reliable Messaging, не следует задавать для этого атрибута значение Srmp или Srmps, если useActiveDirectory для задано значение true . |
rejectAfterLastRetry | Логическое значение, которое задает, какое действие следует предпринять для сообщения, которое не удалось доставить после максимального числа повторных попыток.true означает, что отправителю отправляется уведомление об ошибке передачи, и сообщение удаляется; false означает, что сообщение посылается в очередь подозрительных сообщений. Значение по умолчанию — false .Если значение равно false , получающее приложение может прочитать очередь подозрительных сообщений, чтобы обработать подозрительные сообщения (то есть сообщения, которые не удалось доставить).Служба MSMQ 3.0 не поддерживает возврат уведомлений об ошибке передачи отправителю, поэтому в MSMQ 3.0 этот атрибут пропускается. |
retryCycleDelay | Значение TimeSpan, которое задает временную задержку между циклами повторения при попытке доставить сообщение, которое не удалось доставить немедленно. Значение по умолчанию - 00:10:00. В одном цикле повторений попытка доставить сообщение принимающему приложению выполняется заданное число раз. Число выполняемых попыток устанавливается атрибутом maxImmediateRetries . Если приложению не удается получить сообщение после выполнения заданного количества немедленных повторных попыток, сообщение помещается в очередь повторного выполнения. В дальнейшем сообщение возвращается из очереди повторного выполнения в очередь приложения в попытке повторной доставки приложению. Это выполняется после задержки, заданной атрибутом retryCycleDelay . Число циклов повторных попыток устанавливается атрибутом maxRetryCycles . |
timeToLive | Значение TimeSpan, указывающее, как долго сообщения остаются действительными до истечения их срока, после чего они переводятся в очередь недоставленных сообщений. Значение по умолчанию - 1.00:00:00, что означает один день. Этот атрибут устанавливается для предотвращения устаревания срочных сообщений до их обработки получающими приложениями. Сообщение в очереди, которое не поступает в принимающее приложение в пределах заданного интервала времени, считается устаревшим. Устаревшие сообщения отправляются в специальную очередь, называемую очередью недоставленных сообщений. Расположение очереди недоставленных сообщений задается атрибутом customDeadLetterQueue , или оно устанавливается на основании гарантий в соответствующее значение по умолчанию. |
UseActiveDirectory | Логическое значение, указывающее, следует ли преобразовывать адреса очередей с использованием Active Directory. Адреса очередей MSMQ могут включать имена пути или непосредственные имена форматов. С помощью непосредственного имени формата служба MSMQ разрешает имя компьютера с использованием DNS, NetBIOS или IP-адреса. С помощью имени пути MSMQ разрешает имя компьютера с использованием Active Directory. По умолчанию транспорт Windows Communication Framework (WCF) из очереди преобразует URI очереди сообщений в непосредственное имя формата. Задав этому атрибуту значение true , приложение может указать, что использующий очереди транспорт должен разрешать имя компьютера с использованием Active Directory, а не DNS, NetBIOS или IP-адреса. |
useMsmqTracing | Логическое значение, указывающее, должна ли выполняться трассировка сообщений, обрабатываемых этой привязкой. Значение по умолчанию — false .Если трассировка включена, каждый раз, когда сообщение отправляется с компьютера службы очередей или поступает на этот компьютер, создаются сообщения-отчеты, которые затем отправляются в очередь отчетов. |
useSourceJournal | Логическое значение, указывающее, должны ли сохраняться в очереди журнала источника копии сообщений, обрабатываемых этой привязкой. Значение по умолчанию — false .Использующие очереди приложения, которым нужно хранить запись сообщений, покинувших очередь исходящих сообщений компьютера, могут копировать сообщения в журнал компьютера. После того как сообщение покинуло очередь исходящих сообщений, и появилось подтверждение приема сообщения конечным компьютером, в очереди системного журнала компьютера-отправителя сохраняется копия сообщения. |
Дочерние элементы
Элемент | Описание |
---|---|
<msmqTransportSecurity> | Задает параметры безопасности транспорта для этой привязки. Это элемент типа MsmqTransportSecurityElement. |
Родительские элементы
Элемент | Описание |
---|---|
<Привязки> | Определяет все возможности пользовательской привязки. |
Комментарии
Элемент msmqTransport
позволяет пользователю устанавливать свойства поставленного в очередь коммуникационного канала. Использующий очереди коммуникационный канал использует очередь сообщений в качестве транспорта.
Данный элемент привязки используется стандартной привязкой очереди сообщений в качестве элемента привязки по умолчанию (netMsmqBinding
).