Aracılığıyla paylaş


<msmqIntegrationBinding>

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

<configuration>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding>
          <msmqIntegrationBinding>

Sözdizimi

<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

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 DeadLetterQueueVarsa 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 (yani, 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ı 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 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 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 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 buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır.
Receiveerrorhandling Zehirli ReceiveErrorHandling ve uyumsuz iletilerin nasıl işleneceğini belirten bir değer.
receiveRetryCount Bir iletinin uygulama kuyruğundan uygulamaya iletilmesi başarısız olursa kuyruk yöneticisinin denemesi gereken en fazla yeniden deneme sayısını belirten bir tamsayı.

En fazla teslim denemesi sayısına ulaşılırsa ve iletiye uygulama tarafından erişilmezse, ileti daha sonra yeniden teslim için bir yeniden deneme kuyruğuna gönderilir. İletinin gönderen kuyruğa geri aktarılabilmesi için geçmesi gereken süre tarafından retryCycleDelaydenetlenecek. Yeniden deneme döngüleri değere maxRetryCycles ulaşırsa, ileti zehirli ileti kuyruğuna gönderilir veya gönderene geri 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 buna Zeroeşit olmalı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 boole değeri. Bu olarak ayarlandığında true, bir hizmet işlemeye başlamak için kuyrukta bir iletiyi "göz atabilir" ve herhangi 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 bir kez işlendikten sonra iletiyi "tamamlamak" için bir mekanizma sağlar. İletiler artık ağ üzerindeki kuyruklara okunmuyor ve yeniden yazılamı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 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.
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 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.
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.

{serializationFormat} Öznitelik

Değer Description
XML XML biçimi
Binary İkili biçim
ActiveX ActiveX biçimi
Bytearray Nesneyi bayt dizisine göre serileştirir.
Akarsu Akış olarak biçimlendirilmiş gövde

Alt Öğeler

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

Üst Öğeler

Öğe Description
<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 System.Messaging tanımlanan türleri kullanan mevcut MSMQ uygulamalarına ileti göndermesini ve bu uygulamalardan ileti almasını sağlamak için kullanılabilir Bu yapılandırma öğesini kullanarak kuyruğu ele alma, güvence aktarma, iletilerin durabilir bir şekilde depolanması gerekip gerekmediğini belirtme, ve iletilerin nasıl korunması ve kimlik doğrulaması 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.

Example

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