Aracılığıyla paylaş


<netMsmqBinding>

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

<configuration>
  <system.serviceModel>
    <bindings>
      <netMsmqBinding>

Sözdizimi

<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.

Attributes

Özellik Description
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 buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır.
customDeadLetterQueue Süresi dolan veya aktarım veya teslim 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 dolan 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ı bir ileti kuyruk yöneticisinin kilitlenmesine karşın geçici bir iletinin kilitlenmemesiyle devam eder. Geçici iletiler, uygulamalar daha düşük gecikme süresi gerektirdiğinde ve zaman zaman kayıp iletileri tolere ettiğinde yararlıdır. exactlyOnce özniteliği olarak ayarlanırsatrue, 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 girdisini 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 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 buna Zeroeşit olmalı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 desteklenmez. Bu nedenle, bu özniteliği veya özniteliği SrmpSrmpsuseActiveDirectory olarak ayarlandığında olarak ayarlamamalısınız.true
receiveErrorHandling Zehirli ReceiveErrorHandling ve uyumsuz iletilerin nasıl işleneceğini belirten bir değer.
receiveRetryCount Kuyruk yöneticisinin bir iletiyi yeniden deneme kuyruğuna aktarmadan önce en fazla kaç kez göndermeyi denemesi gerektiğini belirten 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 buna Zeroeşit olmalı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 TimeSpan Gönderme işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır.
timeToLive İletilerin süresi dolmadan ve teslim edilemeyen ileti kuyruğuna koyulmadan ö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 göre özniteliğiyle DeadLetterQueue veya uygun varsayılan değere ayarlanır.
usingActiveDirectory Kuyruk adreslerinin Active Directory kullanılarak dönüştürülmesi gerekip gerekmediğini belirten 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. 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 DNS, NetBIOS veya IP yerine Active Directory kullanarak bilgisayar adını çözümlemesi gerektiğini belirtebilir.
useMsmqTracing Bu bağlama tarafından işlenen iletilerin izlenip izlenmeyeceğini belirten boole değeri. Varsayılan değer: false. İzleme etkinleştirildiğinde, ileti bir Message Queuing bilgisayarına her çıktığı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 çıkan 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 bilgisayarda 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 Description
<readerQuotas> Bu bağlamayla 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ğlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir NetMsmqSecurityElement.

Üst Öğeler

Öğe Description
<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 bir şekilde 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'deki kuyruklar.

Example

<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 bakınız