Aracılığıyla paylaş


<Netmsmqbinding>

Makineler arası iletişim için uygun kuyruğa alınmış bağlamayı tanımlar.

<Yapılandırma>
  <system.serviceModel>
    <Bağlama>
      <Netmsmqbinding>

Syntax

<netMsmqBinding>
  <binding closeTimeout="TimeSpan"
           customDeadLetterQueue="Uri"
           deadLetterQueue="Uri"
           durable="Boolean"
           exactlyOnce="Boolean"
           maxBufferPoolSize="Integer"
           maxReceivedMessageSize="Integer"
           maxRetryCycles="Integer"
           name="String"
           openTimeout="TimeSpan"
           poisonMessageHandling="Disabled/EnabledIfSupported"
           queueTransferProtocol="Native/Srmp/SrmpSecure"
           receiveErrorHandling="Drop/Fault/Move/Reject"
           receiveTimeout="TimeSpan"
           receiveRetryCount="Integer"
           rejectAfterLastRetry="Boolean"
           retryCycleDelay="TimeSpan"
           sendTimeout="TimeSpan"
           timeToLive="TimeSpan"
           useActiveDirectory="Boolean"
           useMsmqTracing="Boolean"
           useSourceJournal="Boolean">
    <security>
      <message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
               clientCredentialType="None/Windows/UserName/Certificate/InfoCard" />
      <transport msmqAuthenticationMode="None/WindowsDomain/Certificate"
                 msmqEncryptionAlgorithm="RC4Stream/AES"
                 msmqProtectionLevel="None/Sign/EncryptAndSign"
                 msmqSecureHashAlgorithm="MD5/SHA1/SHA256/SHA512" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</netMsmqBinding>

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik Açıklama
closeTimeout Kapatma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır.
customDeadLetterQueue Süresi dolmuş veya aktarım ya da teslimi başarısız olan iletilerin yerleştirildiği, uygulama başına teslim edilemeyen ileti kuyruğunun konumunu içeren bir URI.

Teslim edilemeyen ileti kuyruğu, teslim edilemeyen süresi dolmuş iletiler için gönderen uygulamanın kuyruk yöneticisindeki bir kuyruk.

tarafından CustomDeadLetterQueue belirtilen URI,net.msmq düzenini kullanmalıdır.
deadLetterQueue DeadLetterQueue Varsa, hangi tür teslim edilemeyen ileti kuyruğunun kullanılacağını belirten değer.

Teslim edilemeyen ileti kuyruğu, uygulamaya teslim edilemeyen iletilerin aktarılacağı yerdir.

Güvence gerektiren exactlyOnce iletiler için (yani exactlyOnce , özniteliği olarak trueayarlanır), bu öznitelik varsayılan olarak MSMQ'daki sistem genelinde işlemsel teslim edilemeyen ileti kuyruğuna ayarlanır.

Güvence gerektirmeyen iletiler için bu öznitelik varsayılan olarak olarak nulladlandırılır.
durable İletinin kuyrukta dayanıklı mı yoksa geçici mi olduğunu gösteren boole değeri. Dayanıklı ileti kuyruk yöneticisinin kilitlenmesine rağmen kalıcı bir iletiyle devam eder, ancak geçici bir ileti kilitlenmez. Geçici iletiler, uygulamalar daha düşük gecikme süresi gerektirdiğinde ve zaman zaman kaybolan iletileri tolere ettiğinde yararlıdır. exactlyOnce özniteliği olarak trueayarlanırsa, iletiler dayanıklı olmalıdır. Varsayılan değer: true.
exactlyOnce Bu bağlama tarafından işlenen her iletinin yalnızca bir kez teslim edilip edilmediğini gösteren boole değeri. Ardından gönderene teslim hataları bildirilir. olduğunda durablefalse, bu öznitelik yoksayılır ve iletiler teslim güvencesi olmadan aktarılır. Varsayılan değer: true. Daha fazla bilgi için bkz. ExactlyOnce.
maxBufferPoolSize Bu bağlama için en büyük arabellek havuzu boyutunu belirten bir tamsayı. Varsayılan değer 8'dir.
maxReceivedMessageSize Bu bağlama tarafından işlenen üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu tanımlayan pozitif bir tamsayı. Bu sınırı aşan bir iletinin göndereni SOAP hatası alır. Alıcı iletiyi bırakır ve izleme günlüğünde olayın bir girişini oluşturur. Varsayılan değer 65536'dır. İleti boyutuna bağlı olan bu sınır, Hizmet Reddi (DoS) saldırılarına maruz kalma durumunu sınırlamak için tasarlanmıştır.
maxRetryCycles Zehir iletisi algılama özelliği tarafından kullanılan yeniden deneme döngülerinin sayısını gösteren bir tamsayı. İleti, tüm döngülerin tüm teslim girişimlerinde başarısız olduğunda zehirli bir iletiye dönüşür. Varsayılan değer 3'dür. Daha fazla bilgi için bkz. MaxRetryCycles.
name Gerekli öznitelik. Bağlamanın yapılandırma adını içeren bir dize. Bağlama için tanımlama olarak kullanıldığından bu değer benzersiz olmalıdır. .NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri içinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma.
openTimeout Açık TimeSpan işlemin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır.
QueueTransferProtocol Bu bağlamanın kullandığı kuyruğa alınmış iletişim kanalı aktarımını belirten geçerli QueueTransferProtocol bir değer. MSMQ, SOAP Reliable Messaging Protokolü kullanılırken Active Directory adreslemesi özelliğini desteklemez. Bu nedenle, bu özniteliği veya özniteliği SrmpSrmpsuseActiveDirectory olarak ayarlandığında olarak ayarlamamalısınız.true
receiveErrorHandling ReceiveErrorHandling Zehir ve bölünemez iletilerin nasıl işlendiğini belirten bir değer.
receiveRetryCount Kuyruk yöneticisinin iletiyi yeniden deneme kuyruğuna aktarmadan önce en fazla kaç kez göndermeyi denemesi gerektiğini belirten bir tamsayı.
receiveTimeout Alma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:10:00'dır.
retryCycleDelay Hemen teslim edilemeyen bir ileti teslim edilmeye çalışıldığında yeniden deneme döngüleri arasındaki gecikme süresini belirten bir TimeSpan değeri. Gerçek bekleme süresi daha uzun olabileceğinden değer yalnızca en düşük bekleme süresini tanımlar. Varsayılan değer 00:10:00'dır. Daha fazla bilgi için bkz. RetryCycleDelay.
sendTimeout Gönderme TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır.
timeToLive İletilerin süresi dolmadan ve teslim edilemeyen ileti kuyruğuna yerleştirilmeden önce ne kadar süre geçerli olduğunu belirten bir TimeSpan değeri. Varsayılan değer 1.00:00:00'dır.

Bu öznitelik, zamana duyarlı iletilerin alıcı uygulamalar tarafından işlenmeden önce eskimemesini sağlamak için ayarlanır. Belirtilen zaman aralığı içinde alıcı uygulama tarafından kullanılmayan bir kuyruktaki iletinin süresinin dolduğu söylenir. Süresi dolan iletiler, teslim edilemeyen ileti kuyruğu olarak adlandırılan özel kuyruğa gönderilir. Teslim edilemeyen ileti kuyruğunun konumu, güvencelere bağlı olarak özniteliğiyle veya uygun varsayılan değerle DeadLetterQueue ayarlanır.
usingActiveDirectory Kuyruk adreslerinin Active Directory kullanılarak dönüştürülmesi gerekip gerekmediğini belirten bir Boole değeri.

MSMQ kuyruk adresleri yol adlarından veya doğrudan biçim adlarından oluşabilir. Msmq, doğrudan biçim adıyla BILGISAYAR adını DNS, NetBIOS veya IP kullanarak çözümler. Bir yol adıyla MSMQ, Active Directory kullanarak bilgisayar adını çözümler.

Varsayılan olarak, Windows Communication Foundation (WCF) kuyruğa alınmış aktarım, bir ileti kuyruğunun URI'sini doğrudan biçim adına dönüştürür. Bir uygulama, özelliği true olarak ayarlayarak UseActiveDirectory , kuyruğa alınan aktarımın BILGISAYAR adını DNS, NetBIOS veya IP yerine Active Directory kullanarak çözümlemesi gerektiğini belirtebilir.
useMsmqTracing Bu bağlama tarafından işlenen iletilerin izlenip izlenmeyeceğini belirten bir Boole değeri. Varsayılan değer: false. İzleme etkinleştirildiğinde, ileti bir Message Queuing bilgisayarına her ayrıldığında veya ulaştığında rapor iletileri oluşturulur ve rapor kuyruğuna gönderilir.
useSourceJournal Bu bağlama tarafından işlenen iletilerin kopyalarını belirten bir Boole değeri kaynak günlükte depolanmalıdır. Varsayılan değer: false.

Bilgisayarın giden kuyruğundan ayrılan iletilerin kaydını tutmak isteyen kuyruğa alınmış uygulamalar, iletileri günlük kuyruğuna kopyalayabilir. Bir ileti giden kuyruğundan ayrıldığında ve iletinin hedef bilgisayara alındığına dair bir bildirim alındığında, iletinin bir kopyası gönderen bilgisayarın sistem günlüğü kuyruğunda tutulur.

Alt Öğeler

Öğe Açıklama
<readerQuotas> Bu bağlama ile yapılandırılan uç noktalar tarafından işlenebilen SOAP iletilerinin karmaşıklığıyla ilgili kısıtlamaları tanımlar. Bu öğe türündedir XmlDictionaryReaderQuotasElement.
<Güvenlik> Bağlamanın güvenlik ayarlarını tanımlar. Bu öğe türündedir NetMsmqSecurityElement.

Üst Öğeler

Öğe Açıklama
<Bağlama> Bu öğe standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor.

Açıklamalar

Bağlama, netMsmqBinding Microsoft Message Queuing'den (MSMQ) taşıma olarak yararlanarak kuyruğa alma desteği sağlar ve gevşek bağlanmış uygulamalar, hata yalıtımı, yük dengeleme ve bağlantısız işlemler için destek sağlar. Bu özelliklerin bir tartışması için bkz. WCF'de kuyruklar.

Örnek

<configuration>
  <system.ServiceModel>
    <bindings>
      <netMsmqBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 deadLetterQueue="net.msmq://localhost/blah"
                 durable="true"
                 exactlyOnce="true"
                 maxReceivedMessageSize="1000"
                 maxRetries="11"
                 maxRetryCycles="12"
                 poisonMessageHandling="Disabled"
                 rejectAfterLastRetry="false"
                 retryCycleDelay="00:05:55"
                 timeToLive="00:11:11"
                 sourceJournal="true"
                 useMsmqTracing="true"
                 useActiveDirectory="true">
          <security>
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netMsmqBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Ayrıca bkz.