<msmqTransport>

Bir kanalın, özel bağlamaya eklendiğinde MSMQ aktarımındaki iletileri aktarmasına neden olur.

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

Syntax

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

Öznitelikler ve Öğeler

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

Öznitelikler

Öznitelik Açıklama
customDeadLetterQueue Süresi dolmuş veya uygulamaya teslim edilemeyen iletilerin aktarıldığı, uygulama başına teslim edilemeyen ileti kuyruğunun konumunu gösteren bir URI.

ExactlyOnce güvencesi gerektiren iletiler için (yani, exactlyOnce 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 (yani, exactlyOnce olarak ayarlanır false), bu öznitelik varsayılan olarak nullkullanılır.

Değerin net.msmq düzenini kullanması gerekir. Varsayılan değer: null.

veya Systemolarak ayarlanırsa NonedeadLetterQueue, bu öznitelik olarak nullayarlanmalıdır. Bu öznitelik değilse null, deadLetterQueue olarak ayarlanmalıdır Custom.
Deadletterqueue Kullanılacak teslim edilemeyen ileti kuyruğunun türünü belirtir.

Geçerli değerler şunlardır:

- Özel: Özel yeniden kullanıma alma kuyruğu.
- Hiçbiri: Artık kuyruk kullanılmaz.
- Sistem: Sistem yeniden kullanımdan kaldırılma kuyruğu kullanın.

Bu öznitelik DeadLetterQueue türündedir.
Dayanıklı Bu bağlama tarafından işlenen iletilerin dayanıklı mı yoksa geçici mi olduğunu belirten bir Boole değeri. Varsayılan değer: true.

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.

olarak ayarlanırsa exactlyOncetrue, iletiler dayanıklı olmalıdır.
Exactlyonce Bu bağlama tarafından işlenen iletilerin tam olarak bir kez alınıp alınmayacağını belirten bir Boole değeri. Varsayılan değer: true.

İleti, güvenceli veya güvencesiz olarak gönderilebilir. Güvence, uygulamanın gönderilen bir iletinin alıcı ileti kuyruğuna ulaştığından emin olmasını sağlar veya ulaşmadıysa, uygulama teslim edilemeyen ileti kuyruğunu okuyarak bunu belirleyebilir.

exactlyOnceolarak ayarlandığında true, MSMQ'nin gönderilen iletinin alıcı ileti kuyruğuna bir kez ve yalnızca bir kez teslim edilmesini sağlayacağını belirtir ve teslim başarısız olursa ileti teslim edilemeyen ileti kuyruğuna gönderilir.

olarak ayarlanmış true olarak exactlyOnce gönderilen iletilerin yalnızca işlem kuyruğuna gönderilmesi gerekir.
Manualaddressing Kullanıcının ileti adresleme denetimini almasını sağlayan boole değeri. Bu özellik genellikle, uygulamanın ileti göndermek için çeşitli hedeflerden hangisini belirlediği yönlendirici senaryolarında kullanılır.

olarak ayarlandığında true, kanal iletinin zaten ele alındığını varsayar ve iletiye ek bilgi eklemez. Kullanıcı daha sonra her iletiyi tek tek ele alabilir.

olarak ayarlandığında false, varsayılan Windows Communication Foundation (WCF) adresleme mekanizması tüm iletiler için adresleri otomatik olarak oluşturur.

Varsayılan değer: false.
maxBufferPoolSize Arabellek havuzunun en büyük boyutunu belirten pozitif bir tamsayı. Varsayılan değer 524288.

WCF'nin birçok bölümü arabellek kullanır. Arabelleklerin her kullanıldığında oluşturulması ve yok edilmesi pahalıdır ve arabellekler için atık toplama da pahalıdır. Arabellek havuzları ile havuzdan bir arabellek alabilir, kullanabilir ve işiniz bittiğinde havuza döndürebilirsiniz. Bu nedenle arabellek oluşturma ve yok etme ek yükünden kaçınılır.
maxImmediateRetries Uygulama kuyruğundan okunan bir iletide en fazla yeniden deneme denemesi sayısını belirten tamsayı. Varsayılan değer 5’tir.

İleti için en fazla yeniden deneme sayısı denenirse ve ileti uygulama tarafından tüketilmiyorsa, ileti daha sonraki bir noktada yeniden deneme için bir yeniden deneme kuyruğuna gönderilir. Yeniden deneme döngüsü belirtilmezse, iletiler zehirli ileti kuyruğuna gönderilir veya gönderene geri olumsuz bir onay gönderilir.
Maxpoolsize Havuzun en büyük boyutunu belirten pozitif bir tamsayı. Varsayılan değer 524288.
maxReceivedMessageSize Üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu belirten pozitif bir tamsayı. İleti alıcı için çok büyük olduğunda 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.
maxRetryCycles İletilerin alıcı uygulamaya teslimini denemek için en fazla yeniden deneme döngüsü sayısını belirten bir tamsayı. Varsayılan değer: MaxValue.

Tek bir yeniden deneme döngüsü, bir uygulamaya belirli sayıda ileti teslim etmeye çalışır. Yapılan deneme sayısı özniteliği tarafından maxImmediateRetries ayarlanır. Teslim denemeleri tükendikten sonra uygulama iletiyi kullanamazsa, ileti yeniden deneme kuyruğuna gönderilir. Sonraki yeniden deneme döngüleri, özniteliği tarafından belirtilen bir gecikmeden sonra uygulamaya teslimi yeniden denemek için yeniden deneme kuyruğundan uygulama kuyruğuna döndürülen iletiden retryCycleDelay oluşur. özniteliği, maxRetryCycles uygulamanın iletiyi teslim etmek için kullandığı yeniden deneme döngülerinin sayısını belirtir.
Queuetransferprotocol Bu bağlamanın kullandığı kuyruğa alınmış iletişim kanalı aktarımını belirtir. Geçerli değerler şunlardır:

- Yerel: Yerel MSMQ protokollerini kullanın.
- Srmp: Soap Reliable Messaging Protocol (SRMP) kullanın.
- SrmpSecure: Soap Reliable Messaging Protocol Secure (SRMPS) aktarımını kullanın.

Bu öznitelik türündedir QueueTransferProtocol.

MSMQ, SOAP Reliable Messaging Protokolü kullanırken Active Directory adreslemesi desteklemediğinden, olarak ayarlandığında bu özniteliği Srmp veya Srmps useActiveDirectory olarak trueayarlamamalısınız.
rejectAfterLastRetry Yeniden deneme sayısı üst sınırı denendikten sonra teslimi başarısız olan bir ileti için gerçekleştirilecek eylemi belirten Boole değeri.

true , gönderene negatif bir bildirim döndürüldüğü ve iletinin bırakıldığını gösterir; false , iletinin zehirli ileti kuyruğuna gönderildiği anlamına gelir. Varsayılan değer: false.

değer ise false, alıcı uygulama zehirli iletileri (yani teslimi başarısız olan iletileri) işlemek için zehirli ileti kuyruğunu okuyabilir.

MSMQ 3.0, gönderene olumsuz bir bildirim döndürmeyi desteklemez, bu nedenle bu öznitelik MSMQ 3.0'da yoksayılır.
retryCycleDelay Hemen TimeSpan teslim edilemeyen bir ileti teslim edilmeye çalışıldığında yeniden deneme döngüleri arasındaki gecikme süresini belirten bir. Varsayılan değer 00:10:00'dır.

Tek bir yeniden deneme döngüsü, alıcı uygulamaya belirtilen sayıda ileti teslim etmeye çalışır. Yapılan deneme sayısı özniteliği tarafından maxImmediateRetries belirtilir. Uygulama belirtilen sayıda anında yeniden denemeden sonra iletiyi tüketemezse, ileti bir yeniden deneme kuyruğuna gönderilir. Sonraki yeniden deneme döngüleri, özniteliği tarafından belirtilen bir gecikmeden sonra uygulamaya teslimi yeniden denemek için yeniden deneme kuyruğundan uygulama kuyruğuna döndürülen iletiden retryCycleDelay oluşur. Yeniden deneme döngülerinin sayısı özniteliği tarafından maxRetryCycles belirtilir.
timeToLive TimeSpan İletilerin süresi dolmadan ve teslim edilemeyen ileti kuyruğuna konulmadan önce ne kadar süre geçerli olduğunu belirten bir. Varsayılan değer 1.00:00:00'dır ve bu da 1 gün anlamına gelir.

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 customDeadLetterQueue ayarlanır.
UseActiveDirectory Kuyruk adreslerinin Active Directory kullanılarak dönüştürülip dönüştürülmeyeceğ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 Framework (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, bu özniteliği olarak trueayarlayarak, 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ın kaynak günlük kuyruğunda depolanıp depolanmayacağını belirten bir Boole değeri. 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
<msmqTransportSecurity> Bu bağlama için aktarım güvenlik ayarlarını belirtir. Bu öğe türündedir MsmqTransportSecurityElement.

Üst Öğeler

Öğe Açıklama
<Bağlama> Özel bağlamanın tüm bağlama özelliklerini tanımlar.

Açıklamalar

msmqTransport öğesi, kullanıcının kuyruğa alınan iletişim kanalının özelliklerini ayarlamasını sağlar. Kuyruğa alınan iletişim kanalı, aktarım için Message Queuing'i kullanır.

Bu bağlama öğesi, Message Queuing standart bağlaması (netMsmqBinding tarafından kullanılan varsayılan bağlama öğesidir.

Ayrıca bkz.