Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu, HTTP aktarımı kullanılarak birlikte çalışma için gereken WS-Reliable Mesajlaşma Şubat 2005 (sürüm 1.0) protokolü için Windows Communication Foundation (WCF) uygulama ayrıntılarını kapsar. WCF, bu konuda açıklanan kısıtlamalar ve açıklamalar ile WS-Reliable Mesajlaşma belirtimini izler. WS-ReliableMessaging sürüm 1.0 protokollerinin WinFX'ten başlayarak uygulandığını unutmayın.
WS-Reliable Mesajlaşma Şubat 2005 protokolü ReliableSessionBindingElement tarafından WCF'de uygulanır.
Kolaylık sağlamak için konu başlığı altında aşağıdaki roller kullanılır:
Başlatıcı: WS-Reliable İleti dizisi oluşturma işlemini başlatan istemci
Yanıtlayıcı: Başlatıcının isteklerini alan hizmet
Bu belge aşağıdaki tabloda yer alan ön ekleri ve ad alanlarını kullanır.
| Önek | Namespace |
|---|---|
| wsrm | http://schemas.xmlsoap.org/ws/2005/02/rm |
| netrm | http://schemas.microsoft.com/ws/2006/05/rm |
| s | http://www.w3.org/2003/05/soap-envelope |
| wsa | http://schemas.xmlsoap.org/ws/2005/08/addressing |
| wsse | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssecurity-secext-1.0.xsd |
Mesajlaşma
Sekans Kurma Mesajları
WCF CreateSequence ve CreateSequenceResponse mesajlarını, güvenilir bir mesaj dizisi oluşturmak için uygular. Aşağıdaki kısıtlamalar geçerlidir:
B1101: WCF Başlatıcısı,
CreateSequencemesajında isteğe bağlı Expires öğesini oluşturmaz veyaCreateSequencemesajıOfferöğesi içerdiğinde,Expiresöğesindeki isteğe bağlıOfferöğesini oluşturmaz.B1102: WCF
CreateSequence, iletiyeRespondererişirken varsa her iki öğeyi deExpiresgönderir ve alır, ancak değerlerini kullanmaz.
WS-Reliable Mesajlaşma, bir oturum oluşturan iki zıt bağıntılı diziyi kurma mekanizması olan Offer mekanizmasını tanıtır.
R1103:
CreateSequencebirOfferöğesi içeriyorsa, Reliable Messaging Yanıtlayıcı, diziyi kabul ederek içinde birCreateSequenceResponseöğesi bulunanwsrm:Acceptile yanıt vermeli ve böylece iki bağıntılı ters diziyi oluşturmalı veyaCreateSequenceisteğini reddetmelidir.R1104:
SequenceAcknowledgementve ters sırada akan uygulama iletileri,ReplyTouç nokta başvurusunaCreateSequencegönderilmelidir.R1105:
AcksToveReplyToiçindekiCreateSequenceuç nokta referansları, oktette uyumlu adres değerlerine sahip olmalıdır.WCF Yanıtlayıcısı, URI bölümünün
AcksToveReplyToEPR'lerle aynı olduğunu doğrulamadan önce bir dizi oluşturur.R1106:
AcksToveReplyToiçindekiCreateSequenceuç nokta başvuruları, referans parametrelerinin aynı kümesine sahip olmalıdır.WCF,
AcksToveReplyToüzerindeki [başvuru parametrelerinin]CreateSequenceaynı olduğunu varsayar ve onay mesajları ile karşıt sıra iletileri içinReplyTouç nokta başvurusundaki [başvuru parametrelerini] kullanır.R1107:
Offermekanizması kullanılarak iki ters dizi oluşturulduğunda, ve ters diziler üzerinde akan uygulama mesajlarıSequenceAcknowledgementuç nokta referansınaReplyTogönderilmelidir.R1108: Teklif mekanizması kullanılarak iki zıt dizi oluşturulduğunda,
[address]öğesininwsrm:AcksToEndpoint Reference alt öğesininwsrm:Acceptözelliği,CreateSequenceResponseöğesinin hedef URI'siyle bayt bazında eşleşmelidir.R1109:
Offermekanizması kullanılarak iki zıt dizi kurulduğunda, başlatıcı tarafından gönderilen iletiler ve yanıtlayıcının iletilere verdiği onaylar aynı Uç Nokta Referansına gönderilmelidir.WCF, Başlatıcı ile Yanıtlayıcı arasında güvenilir oturumlar oluşturmak için WS-Reliable Mesajlaşma kullanır. WCF'nin WS-Reliable Mesajlaşma uygulaması tek yönlü, istek-yanıt ve tam çift yönlü mesajlaşma desenleri için güvenilir oturum sağlar. üzerindeki
OfferCreateSequence/ WS-Reliable MesajlaşmaCreateSequenceResponsemekanizması, bağıntılı iki ters dizi oluşturmanıza olanak tanır ve tüm ileti uç noktaları için uygun bir oturum protokolü sağlar. WCF, oturum bütünlüğü için uçtan uca koruma da dahil olmak üzere böyle bir oturum için güvenlik garantisi sağladığından, aynı tarafa yönelik iletilerin aynı hedefe vardığından emin olmak pratiktir. Uygulama iletilerine sıralama onaylarını birleştirerek gönderim yapmayı da sağlar. Bu nedenle, R1104, R1105 ve R1108 kısıtlamaları WCF için geçerlidir.
Bir ileti örneği CreateSequence.
<s:Envelope>
<s:Header>
<a:Action s:mustUnderstand="1">
http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
</a:Action>
<a:ReplyTo>
<a:Address>
http://Business456.com/clientA
</a:Address>
</a:ReplyTo>
<a:MessageID>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</a:MessageID>
<a:To s:mustUnderstand="1">
http://Business456.com/clientA
</a:To>
</s:Header>
<s:Body>
<wsrm:CreateSequence>
<wsrm:AcksTo>
<wsa:Address>
http://Business456.com/clientA
</wsa:Address>
</wsrm:AcksTo>
<wsrm:Offer>
<wsrm:Identifier>
urn:uuid:0afb8d36-bf26-4776-b8cf-8c91fddb5496
</wsrm:Identifier>
</wsrm:Offer>
</wsrm:CreateSequence>
</s:Body>
</s:Envelope>
Bir ileti örneği CreateSequenceResponse.
<s:Envelope>
<s:Header>
<a:Action s:mustUnderstand="1">
http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse
</a:Action>
<a:RelatesTo>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</a:RelatesTo>
<a:To s:mustUnderstand="1">
http://Business456.com/clientA
</a:To>
</s:Header>
<s:Body>
<wsrm:CreateSequenceResponse>
<Identifier>
urn:uuid:eea0a36c-b38a-43e8-8c76-2fabe2d76386
</Identifier>
<Accept>
<AcksTo>
<a:Address>
http://BusinessABC.com/serviceA
</a:Address>
</AcksTo>
</Accept>
</wsrm:CreateSequenceResponse>
</s:Body>
</s:Envelope>
Sıra
Sıralara uygulanan kısıtlamaların listesi aşağıdadır:
B1201:WCF, 'nin en büyük kapsayıcı değeri olan 9223372036854775807'den
xs:longyüksek olmayan sıra numaraları oluşturur ve bu sayılara erişir.B1202:WCF her zaman eylem URI'sini
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessageiçeren boş gövdeli bir son ileti oluşturur.B1203: WCF, eylem URI'si
LastMessageolmadığı sürecehttp://schemas.xmlsoap.org/ws/2005/02/rm/LastMessageöğesini içeren ve Sıra üst bilgisine sahip bir mesaj alır ve teslim eder.
Sıralama Başlığı Örneği.
<wsrm:Sequence>
<wsrm:Identifier>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</wsrm:Identifier>
<wsrm:MessageNumber>
10
</wsrm:MessageNumber>
<wsrm:LastMessage/>
</wsrm:Sequence>
AckRequested Üst Bilgisi
WCF, AckRequested Header'ı canlı tutma mekanizması olarak kullanır. WCF isteğe bağlı MessageNumber öğeyi oluşturmaz.
AckRequested öğesini içeren bir MessageNumber başlığı ile alınan bir ileti durumunda, WCF aşağıdaki örnekte gösterildiği gibi MessageNumber öğesinin değerini yoksayar.
<wsrm:AckRequested>
<wsrm:Identifier>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</wsrm:Identifier>
</wsrm:AckRequested>
SequenceAcknowledgement Üst Bilgisi
WCF, WS-Reliable Mesajlaşmada sağlanan dizilim onayları için üstüste bindirme mekanizmasını kullanır.
R1401: Mekanizma kullanılarak
Offeriki ters dizi oluşturulduğunda,SequenceAcknowledgementüst bilgi istenen alıcıya iletilen herhangi bir uygulama iletisine eklenebilir.B1402: WCF'nin herhangi bir sıralı ileti almadan önce bir onay oluşturması gerektiğinde (örneğin, bir
AckRequestediletiyi karşılamak için), WCF aşağıdaki örnekte gösterildiği gibi 0-0 aralığını içeren birSequenceAcknowledgementüst bilgi oluşturur.<wsrm:SequenceAcknowledgement> <wsrm:Identifier> urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36 </wsrm:Identifier> <wsrm:AcknowledgementRange Upper="0" Lower="0"/> </wsrm:SequenceAcknowledgement>B1403: WCF,
SequenceAcknowledgementöğesi içeren üst bilgiler oluşturmazNack, fakatNacköğelerini destekler.
WS-ReliableMessaging Hataları
aşağıda, WS-Reliable Mesajlaşma hatalarının WCF uygulamasına uygulanan kısıtlamaların listesi yer alıyor:
B1501: WCF hata oluşturmaz
MessageNumberRollover.B1502:WCF uç noktası, belirtimde açıklandığı gibi hatalar oluşturabilir
CreateSequenceRefused.B1503:Hizmet uç noktası bağlantı sınırına ulaştığında ve yeni bağlantıları işleyemediğinde, WCF aşağıdaki örnekte gösterildiği gibi ek
CreateSequenceRefusedbir hata alt kodunetrm:ConnectionLimitReachedoluşturur.<s:Envelope> <s:Header> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/08/addressing/fault </wsa:Action> </s:Header> <s:Body> <s:Fault> <s:Code> <s:Value> s:Receiver </s:Value> <s:Subcode> <s:Value> wsrm:CreateSequenceRefused </s:Value> <s:Subcode> <s:Value> netrm:ConnectionLimitReached </s:Value> </s:Subcode> </s:Subcode> </s:Code> <s:Reason> <s:Text xml:lang="en"> [Reason] </s:Text> </s:Reason> </s:Fault> </s:Body> </s:Envelope>
WS-Addressing Hataları
WS-Reliable Mesajlaşma WS-Adresleme kullandığından, WCF WS-Reliable Mesajlaşma uygulaması WS-Addressing hatalar oluşturabilir. Bu bölüm, WCF'nin WS-Reliable Mesajlaşma katmanında açıkça oluşturduğu WS-Addressing hatalarını kapsar:
B1601: WCF, aşağıdakilerden biri doğru olduğunda "Mesaj Adresleme Başlığı Gereklidir" hatasını üretir:
İletide bir
Sequencebaşlık ve birActionbaşlık eksik.Bir
CreateSequenceiletininMessageIdüst bilgi kısmı eksik.Bir
CreateSequenceiletininReplyToüst bilgi kısmı eksik.
B1602: WCF,
Sequenceüst bilgisi eksik olan ve WS-Reliable Mesajlaşma belirtiminde tanınmayan birActionüst bilgisi içeren bir mesaja yanıt olarak "Eylem Desteklenmiyor" hatasını oluşturur.B1603: WCF, iletinin
CreateSequenceadresleme üst bilgilerinin incelenmesine göre uç noktanın sırayı işlemediğini belirtmek için "Uç Nokta Kullanılamıyor" hatasını oluşturur.
Protokol Oluşturma
WS-Addressing ile kompozisyon
WCF, WS-Addressing'in iki sürümünü destekler: WS-Addressing 2004/08 [WS-ADDR] ve W3C WS-Addressing 1.0 Önerileri [WS-ADDR-CORE] ve [WS-ADDR-SOAP].
WS-Reliable Mesajlaşma belirtimi yalnızca WS-Addressing 2004/08'den bahsedse de, kullanılacak WS-Addressing sürümünü kısıtlamaz. WCF için geçerli olan kısıtlamaların listesi aşağıdadır:
R2101:Hem WS-Addressing 2004/08 hem de WS-Addressing 1.0, WS-Reliable Mesajlaşma ile kullanılabilir.
R2102:Belirli bir WS-Reliable Mesajlaşma dizisi veya mekanizma kullanılarak
wsrm:Offerbağıntılı bir çift ters dizi boyunca tek bir WS-Addressing sürümü kullanılmalıdır.
SOAP ile kompozisyon
WCF, WS-Reliable Mesajlaşma ile hem SOAP 1.1 hem de SOAP 1.2 kullanımını destekler.
WS-Security ve WS-SecureConversation ile kompozisyon
WCF, güvenli Aktarım (HTTPS), WS-Security ile oluşturma ve WS-Secure Konuşma ile oluşturma kullanarak WS-Reliable Mesajlaşma dizileri için koruma sağlar. WCF için geçerli olan kısıtlamaların listesi aşağıdadır:
R2301: WCF, bireysel iletilerin bütünlüğü ve gizliliğine ek olarak bir WS-Reliable mesajlaşma dizisinin bütünlüğünü korumak için WS-Secure Konuşma'nın kullanılmasını gerektirir.
R2302:AWS-Secure Konuşma oturumu, WS-Reliable Mesajlaşma dizileri oluşturulmadan önce kurulmalıdır.
R2303: WS-Reliable Mesajlaşma dizisinin ömrü WS-Secure Konuşma oturumunun ömrünü aşarsa,
SecurityContextTokenWS-Secure Konuşma kullanılarak kurulan, ilgili WS-Secure Konuşma Yenileme bağlaması kullanılarak yenilenmelidir.B2304:WS-Reliable Mesajlaşma dizisi veya bir çift bağıntılı ters dizi her zaman tek bir WS-SecureConversation oturumuna bağlıdır.
WCF kaynağı, iletinin
wsse:SecurityTokenReferenceöğe genişletilebilirlik bölümündeCreateSequenceöğesini oluşturur.R2305:WS-Secure Konuşma ile bileşik oluşturulduğunda, bir
CreateSequencemesajwsse:SecurityTokenReferenceöğesini içermelidir.
WS-Reliable Mesajlaşma WS-Policy Onaylama
WCF, uç noktaların yeteneklerini tanımlamak için WS-Reliable Mesajlaşma WS-Policy Doğrulama wsrm:RMAssertion kullanır. WCF için geçerli olan kısıtlamaların listesi aşağıdadır:
B3001: WCF öğelere
wsrm:RMAssertionWS-Policy Onay eklerwsdl:binding. WCF,wsdl:bindingvewsdl:portöğelerine ekleri destekler.B3002: WCF, WS-Reliable Mesajlaşma onayının aşağıdaki isteğe bağlı özelliklerini destekler ve WCF
ReliableMessagingBindingElementüzerinde bunlar üzerinde denetim sağlar:wsrm:InactivityTimeoutwsrm:AcknowledgementInterval
Aşağıda bir örnek verilmiştir.
<wsrm:RMAssertion> <wsrm:InactivityTimeout Milliseconds="600000" /> <wsrm:AcknowledgementInterval Milliseconds="200" /> </wsrm:RMAssertion>
Akış Denetimi WS-Reliable Mesajlaşma Uzantısı
WCF, sıralı ileti akışı üzerinde isteğe bağlı ek daha sıkı denetim sağlamak için WS-Reliable Mesajlaşma genişletilebilirliğini kullanır.
ReliableSessionBindingElement.FlowControlEnabled özelliği true olarak ayarlanarak akış denetimi etkinleştirilir. WCF için geçerli olan kısıtlamaların listesi aşağıdadır:
B4001: Güvenilir Mesajlaşma Akış Kontrolü etkinleştirildiğinde, WCF, üst bilginin öğe genişletilebilirliğinde
netrm:BufferRemainingbaşlığı içinde birSequenceAcknowledgementöğesi oluşturur.B4002: Reliable Messaging Flow Control etkinleştirildiğinde, WCF aşağıdaki örnekte gösterildiği gibi
netrm:BufferRemainingüst bilgideSequenceAcknowledgementöğesinin bulunmasını gerektirmez.<wsrm:SequenceAcknowledgement> <wsrm:Identifier> http://fabrikam123.com/abc </wsrm:Identifier> <wsrm:AcknowledgementRange Upper="1" Lower="1"/> <netrm:BufferRemaining> 8 </netrm:BufferRemaining> </wsrm:SequenceAcknowledgement>B4003: WCF,
netrm:BufferRemainingöğesini, Güvenilir Mesajlaşma Hedefinin arabelleğe alabileceği yeni ileti sayısını göstermek için kullanır.B4004:WCF Reliable Messaging Hizmeti, Reliable Messaging hedef uygulaması iletileri hızla alamadığında iletilen iletilerin sayısını kısıtlar. Reliable Messaging hedefi iletileri arabelleğe alır ve öğenin değeri 0'a düşer.
B4005: WCF, 0 ile 4096 (dahil) arasında tamsayı değerleri oluşturur
netrm:BufferRemainingve 0 ilexs:int'ninmaxInclusivedeğeri 214748364 dahil olmak üzere tamsayı değerlerini okur.
İleti Değişimi Desenleri
Bu bölümde, farklı İleti Değişimi Desenleri için WS-Reliable Mesajlaşma kullanıldığında WCF'nin davranışı açıklanmaktadır. Her İleti Değişimi Düzeni için aşağıdaki iki dağıtım senaryosu dikkate alınır:
Adreslenemeyen Başlatıcı: Başlatıcı güvenlik duvarının arkasındadır; Yanıtlayıcı, yalnızca HTTP yanıtlarında Initiator'a ileti teslim edebilir.
Adreslenebilir Başlatıcı: Hem Başlatıcı hem de Yanıtlayıcı HTTP isteklerini alabilir; diğer bir ifadeyle, iki ters HTTP bağlantısı kurulabilir.
Tek yönlü, Adreslenebilir Olmayan Başlatıcı
Bağlayıcılık
WCF, bir HTTP kanalı üzerinden tek bir sıra kullanarak tek yönlü bir ileti değişimi düzeni sağlar. WCF, RMS'den RMD'ye tüm iletileri iletmek için HTTP isteklerini ve RMD'den RMS'ye tüm iletileri iletmek için HTTP yanıtını kullanır.
CreateSequence Exchange
WCF Başlatıcısı, teklif içermeyen bir CreateSequence ileti oluşturur. WCF Yanıtlayıcı, CreateSequence ile ilişkilendirilmiş bir teklif olmadığından emin olduktan sonra bir dizi oluşturur. WCF Yanıtlayıcısı CreateSequence isteğine bir CreateSequenceResponse iletiyle yanıt verir.
Dizi Onayı
WCF Başlatıcısı, CreateSequence mesajı ve hata mesajları hariç tüm mesajların onaylarını işler. WCF Yanıtlayıcısı, hem dizilere hem de AckRequested iletilere yanıt olarak her zaman bağımsız bir onay üretir.
TerminateSequence iletisi
WCF, TerminateSequence öğesine tek yönlü bir işlem olarak davranır; bu, HTTP yanıtının boş bir gövdesi ve HTTP 202 durum koduna sahip olduğu anlamına gelir.
Tek Yönlü, Adreslenebilir Başlatıcı
Bağlayıcılık
WCF, bir gelen ve giden Http kanalı üzerinden tek bir sıra kullanarak tek yönlü bir ileti değişimi düzeni sağlar. WCF, tüm iletileri iletmek için HTTP isteklerini kullanır. Tüm HTTP yanıtları boş bir gövdeye ve HTTP 202 durum koduna sahiptir.
CreateSequence Exchange
WCF Başlatıcısı, teklif içermeyen bir CreateSequence ileti oluşturur. WCF Yanıtlayıcısı, bir dizi oluşturmadan önce CreateSequence öğesinin herhangi bir teklifi bulunmadığından emin olur. WCF Yanıtçısı, CreateSequenceResponse mesajını ReplyTo uç nokta referansı ile adreslenen bir HTTP isteğine iletir.
Çift yönlü, Adreslenebilir Başlatıcı
Bağlayıcılık
WCF, bir gelen ve bir giden HTTP kanalı üzerinden iki sıra kullanan tamamen zaman uyumsuz iki yönlü mesaj alışverişi modeli sağlar. WCF, tüm iletileri iletmek için HTTP isteklerini kullanır. Tüm HTTP yanıtları boş bir gövdeye ve HTTP 202 durum koduna sahiptir.
CreateSequence Exchange
WCF Başlatıcısı teklif içeren bir CreateSequence ileti oluşturur. WCF Yanıtlayıcısı, bir dizi oluşturmadan önce CreateSequence'ın bir teklife sahip olmasını sağlar. WCF, HTTP isteğinde CreateSequenceResponse'yı CreateSequence'nin ReplyTo uç nokta referansına gönderir.
Sıra Ömrü
WCF, iki diziyi tam çift yönlü bir oturum olarak ele alır.
Bir sırayı etkileyen bir hata oluşturulduğunda, WCF, uzak uç noktanın her iki sırada da hata vermesini bekler. Bir sıradaki hatayı okuduktan sonra, WCF her iki sırayı da hataya geçirir.
WCF giden sırasını kapatabilir ve gelen dizisinde iletileri işlemeye devam edebilir. Buna karşılık, WCF gelen sıranın kapanışını işleyebilir ve giden ardışık düzeninde ileti göndermeyi sürdürebilir.
İstek-Yanıt, Adreslenemeyen Başlatıcı
Bağlayıcılık
WCF, bir HTTP kanalı üzerinden iki dizi kullanarak tek yönlü ve istek-yanıt iletisi değişim düzeni sağlar. WCF, istek dizisinin iletilerini iletmek için HTTP isteklerini ve yanıt dizisinin iletilerini iletmek için HTTP yanıtlarını kullanır.
CreateSequence Exchange
WCF Başlatıcısı teklif içeren bir CreateSequence ileti oluşturur. WCF Yanıtlayıcısı, bir dizi oluşturmadan önce CreateSequence'ın bir teklife sahip olmasını sağlar. WCF Yanıtlayıcısı CreateSequence isteğine bir CreateSequenceResponse iletiyle yanıt verir.
Tek Yönlü İleti
Tek yönlü ileti değişim protokollerini başarıyla tamamlamak için WCF Başlatıcısı HTTP isteğinde bir istek dizisi iletisi iletir ve HTTP yanıtında tek başına SequenceAcknowledgement bir ileti alır. , SequenceAcknowledgement iletilen iletiyi kabul etmelidir.
WCF Yanıtlayıcısı isteği bir onay, hata veya boş gövde ve HTTP 202 durum koduyla yanıtlayabilir.
İki Yönlü İletiler
İki yönlü ileti değişim protokollerini başarıyla tamamlamak için, WCF Başlatıcısı HTTP isteğinde bir istek dizisi iletisi iletir ve HTTP yanıtında bir yanıt dizisi iletisi alır. Yanıt, iletilen istek dizisi iletisini onaylayıcı bir SequenceAcknowledgement taşımalıdır.
WCF Yanıtlayıcısı isteği bir uygulama yanıtı, bir hata veya boş gövdeli bir yanıt ve HTTP 202 durum koduyla yanıtlayabilir.
Tek yönlü iletilerin varlığı ve uygulama yanıtlarının zamanlaması nedeniyle, istek dizisi iletisinin sıra numarası ile yanıt iletisinin sıra numarası arasında bağıntı yoktur.
Yanıtları Yeniden Deneme
WCF, iki yönlü ileti değişim protokolü bağıntısı için HTTP istek-yanıt bağıntısını kullanır. Bu nedenle, WCF Başlatıcısı istek dizisi iletisi onaylandığında değil, HTTP yanıtı bir onay, kullanıcı iletisi veya hata taşıdığında istek dizisi iletisini yeniden denemeyi durdurmaz. WCF Yanıtlayıcısı, yanıtın bağlantılı olduğu isteğin HTTP talebi kısmında yanıtları yeniden dener.
LastMessage Exchange
WCF Başlatıcısı, HTTP isteği bacağında boş gövdeli bir son ileti oluşturur ve iletir. WCF bir yanıt gerektirir, ancak yanıt mesajını göz ardı eder. WCF Yanıtlayıcısı, yanıt dizisinin boş gövdeli son iletisiyle istek dizisinin boş gövdeli son iletisini yanıtlar.
WCF Yanıtlayıcı, harekete geçirme URI'si http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage olmayan bir son mesaj alırsa, WCF bir son mesajla yanıtlar. İki yönlü ileti değişim protokolü söz konusu olduğunda, son ileti uygulama iletisini taşır; tek yönlü ileti değişim protokolü söz konusu olduğunda, son ileti boş olur.
WCF Yanıtlayıcısı, yanıt dizisinin boş gövdeli son iletisi için onay gerektirmez.
TerminateSequence Exchange
Tüm istekler geçerli bir yanıt aldığında, WCF Başlatıcısı istek dizisinin TerminateSequence iletisini HTTP istek bacağında oluşturur ve iletir. WCF bir yanıt gerektirir, ancak yanıt mesajını göz ardı eder. WCF Yanıtlayıcısı, istek dizisinin TerminateSequence iletisini yanıt dizisinin TerminateSequence iletisiyle yanıtlar.
Normal bir kapatma sırasında, her iki ileti de TerminateSequence tam kapsam SequenceAcknowledgement sağlar.
İstek/Yanıt, Adreslenebilir Başlatıcı
Bağlayıcılık
WCF, bir gelen ve giden HTTP kanalı üzerinden iki dizi kullanan bir istek-yanıt iletisi değişim düzeni sağlar. WCF, tüm iletileri iletmek için HTTP isteklerini kullanır. Tüm HTTP yanıtları boş bir gövdeye ve HTTP 202 durum koduna sahiptir.
CreateSequence Exchange
WCF Başlatıcısı teklif içeren bir CreateSequence ileti oluşturur. WCF Yanıtlayıcısı, bir dizi oluşturmadan önce CreateSequence'ın bir teklife sahip olmasını sağlar. WCF, HTTP isteğinde CreateSequenceResponse'yı CreateSequence'nin ReplyTo uç nokta referansına gönderir.
İstek/Yanıt Bağıntısı
WCF Başlatıcısı, tüm uygulama isteği iletilerinin bir MessageId ve bir ReplyTo uç nokta başvurusu taşımasını sağlar. WCF Başlatıcısı, uygulama istek iletisine iletinin CreateSequenceReplyTo uç nokta referansını uygular. WCF Yanıtlayıcısı, gelen istek iletilerinin hem bir MessageId hem de bir ReplyTo taşımasını gerektirir. WCF Yanıtlayıcısı, uç nokta başvurusunun hem hem de tüm uygulama isteği iletilerinin CreateSequence URI'sinin aynı olmasını sağlar.