Aracılığıyla paylaş


<msmqIntegrationBinding>

İLETIleri MSMQ aracılığıyla yönlendirerek kuyruğa alma desteği sağlayan bir bağlama tanımlar.

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

Syntax

<msmqIntegrationBinding>
  <binding closeTimeout="TimeSpan"
           customDeadLetterQueue="Uri"
           deadLetterQueue="Uri"
           durable="Boolean"
           exactlyOnce="Boolean"
           maxReceivedMessageSize="Integer"
           maxRetryCycles="Integer"
           name="String"
           openTimeout="TimeSpan"
           receiveContextEnabled="Boolean"
           receiveErrorHandling="Drop/Fault/Move/Reject"
           receiveTimeout="TimeSpan"
           receiveRetryCount="Integer"
           retryCycleDelay="TimeSpan"
           sendTimeout="TimeSpan"
           serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
           timeToLive="TimeSpan"
           useMsmqTracing="Boolean"
           useSourceJournal="Boolean">
  </binding>
</msmqIntegrationBinding>

Öznitelikler ve Öğeler

Aşağıdaki bölümlerde öznitelikler, alt öğeler ve üst öğeler 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 Varsa DeadLetterQueue, hangi tür teslim edilemeyen ileti kuyruğunun kullanılacağını belirten bir .value

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

Tam olarakOnce güvencesi gerektiren iletiler için (örneğin, exactlyOnce özniteliği olarak ayarlanır), bu öznitelik varsayılan olarak MSMQ'daki sistem genelinde işlemsel teslim edilemeyen ileti kuyruğuna ayarlanır true.

Güvence gerektirmeyen iletiler için bu öznitelik varsayılan olarak olarak nulladlandırılır.
Dayanıklı İ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 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.
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 2'dir. Daha fazla bilgi için bkz. MaxRetryCycles.
name 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.
Receiveerrorhandling ReceiveErrorHandling Zehir ve bölünemez iletilerin nasıl işlendiğini belirten bir değer.
receiveRetryCount Bir iletinin uygulama kuyruğundan uygulamaya iletiminin başarısız olması durumunda kuyruk yöneticisinin denemesi gereken en fazla yeniden deneme sayısını belirten bir tamsayı.

Teslim denemesi sayısı üst sınırına ulaşılırsa ve iletiye uygulama tarafından erişilmiyorsa, ileti daha sonra yeniden teslim için yeniden deneme kuyruğuna gönderilir. İletinin gönderen kuyruğa geri aktarılmasından önce geçen süre tarafından retryCycleDelaydenetlener. Yeniden deneme döngüleri değere maxRetryCycles ulaşırsa, ileti ya zehirli ileti kuyruğuna gönderilir ya da gönderene negatif bir onay gönderilir.
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.
receiveContextEnabled Kuyruklardaki iletileri işlemek için alma bağlamı etkinleştirilip etkinleştirilmediğini belirten bir Boole değeri. Bu olarak ayarlandığında true, bir hizmet işlemeye başlamak için kuyrukta bir iletiyi "göz atabilir" ve bir sorun oluşursa ve bir özel durum oluşursa kuyrukta kalır. Hizmetler ayrıca daha sonraki bir noktada işlemeyi yeniden denemek için iletileri "kilitleyebilir". ReceiveContext, kuyruktan kaldırılabilmesi için iletiyi işlendikten sonra "tamamlamaya" yönelik bir mekanizma sağlar. İletiler artık ağ üzerindeki kuyruklara okunmuyor ve yeniden yazılmıyor ve tek tek iletiler işleme sırasında farklı hizmet örnekleri arasında zıplamıyor.
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:30: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.
Serializationformat İleti gövdesinin seri hale getirilmesi için kullanılan biçimi tanımlar. Bu öznitelik türündedir MsmqMessageSerializationFormat.
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.
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 çı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.

{serializationFormat} Öznitelik

Değer Açıklama
Xml XML biçimi
İkili İkili biçim
ActiveX ActiveX biçimi
Bytearray Nesneyi bayt dizisine serileştirir.
Stream Akış olarak biçimlendirilmiş gövde

Alt Öğeler

Öğe Açıklama
<Güvenlik> Bağlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir MsmqIntegrationSecurityElement.

Üst Öğeler

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

Açıklamalar

Bu bağlama öğesi, Windows Communication Foundation (WCF) uygulamalarının COM, MSMQ yerel API'leri veya ad alanında tanımlanan türleri kullanan mevcut MSMQ uygulamalarına ileti göndermesini ve bu uygulamalardan System.Messaging ileti almasını sağlamak için kullanılabilir Bu yapılandırma öğesini kullanarak kuyruğu ele almanın, güvenceleri aktarmanın, iletilerin durabilir bir şekilde depolanıp depolanmayacağını, ve iletilerin nasıl korunacağı ve kimlik doğrulamasının nasıl yapılması gerektiği. Daha fazla bilgi için bkz . Nasıl yapılır: WCF Uç Noktaları ve Message Queuing Uygulamaları ile İleti Değişimi.

Örnek

<configuration>
  <system.ServiceModel>
    <bindings>
      <msmqIntegrationBinding>
        <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"
                 maxImmediateRetries="11"
                 maxRetryCycles="12"
                 poisonMessageHandling="Disabled"
                 rejectAfterLastRetry="false"
                 retryCycleDelay="00:05:55"
                 timeToLive="00:11:11"
                 useSourceJournal="true"
                 useMsmqTracing="true"
                 serializationFormat="Binary">
          <security mode="None" />
        </binding>
      </msmqIntegrationBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Ayrıca bkz.