Aracılığıyla paylaş


HTTP, TCP veya Named-Pipe Kullanan Zaman Uyumsuz Senaryolar

Bu konu, HTTP, TCP veya adlandırılmış kanal kullanan çok iş parçacıklı isteklerle farklı zaman uyumsuz istek/yanıt senaryoları için etkinlikleri ve aktarımları açıklar.

Zaman Uyumsuz İstek/Hatasız Yanıtla

Bu bölümde, çok iş parçacıklı istemcilerle zaman uyumsuz istek/yanıt senaryosu için etkinlikler ve aktarımlar açıklanmaktadır.

Çağıran etkinliği döndürdüğünde beginCall sonlanır ve endCall döndürür. Geri arama çağrılırsa, geri arama döndürür.

Çağrılan etkinlik döndürdüğünde beginCall , endCall döndürdüğünde veya bu etkinlikten çağrıldıysa geri çağırma döndürdüğünde sonlanır.

Geri Çağırma Olmadan Zaman Uyumsuz İstemci

HTTP kullanılarak Yayma her İki Tarafta Da Etkindir

Asynchronous client with no callback where propagateActivity is set to true on both sides.

ise propagateActivity=true, ProcessMessage hangi ProcessAction etkinliğinin aktarılıp aktarılamadığını belirtir.

HTTP tabanlı senaryolar için, gönderilecek ilk iletide ReceiveBytes çağrılır ve isteğin ömrü boyunca mevcuttur.

Yayma, HTTP kullanılarak İki Tarafta da Devre Dışı Bırakıldı

Her iki taraftaysa propagateActivity=false , ProcessMessage aktarıldığı ProcessAction etkinliğini göstermez. Bu nedenle, yeni kimliği olan yeni bir geçici ProcessAction etkinliği çağrılır. Zaman uyumsuz yanıt ServiceModel kodundaki istekle eşleştiğinde, Etkinlik Kimliği yerel bağlamdan alınabilir. Gerçek ProcessAction etkinliği bu kimlikle aktarılabilir.

Asynchronous client with no callback where propagateActivity is set to false on either side.

HTTP tabanlı senaryolar için, gönderilecek ilk iletide ReceiveBytes çağrılır ve isteğin ömrü boyunca mevcuttur.

Çağıran veya çağıran olduğunda propagateActivity=false ve yanıt iletisi bir Eylem üst bilgisi içermediğinde zaman uyumsuz bir istemcide İşlem Eylemi etkinliği oluşturulur.

Yayma, TCP veya Adlandırılmış Kanal Kullanılarak her İki Tarafta Da Etkin

Asynchronous client with no callback where propagateActivity is set to true on both sides and named pipe/TCP.

Adlandırılmış Kanal veya TCP tabanlı bir senaryo için, istemci açıldığında ReceiveBytes çağrılır ve bağlantının ömrü boyunca mevcuttur.

İlk görüntüye benzer şekilde, ise propagateActivity=trueProcessMessage hangi ProcessAction etkinliğinin aktarılıp aktarılamadığını belirtir.

Yayma, TCP veya Adlandırılmış Kanal Kullanılarak İki Tarafta Da Devre Dışı Bırakıldı

Adlandırılmış Kanal veya TCP tabanlı bir senaryo için, istemci açıldığında ReceiveBytes çağrılır ve bağlantının ömrü boyunca mevcuttur.

İkinci görüntüye benzer şekilde, her iki taraftaysa propagateActivity=false , ProcessMessage hangi ProcessAction etkinliğine aktarıldığına işaret etmez. Bu nedenle, yeni kimliği olan yeni bir geçici ProcessAction etkinliği çağrılır. Zaman uyumsuz yanıt ServiceModel kodundaki istekle eşleştiğinde, Etkinlik Kimliği yerel bağlamdan alınabilir. Gerçek ProcessAction etkinliği bu kimlikle aktarılabilir.

Asynchronous client with no callback where propagateActivity is set to false on either side and named pipe/TCP.

Geri Çağırma ile zaman uyumsuz istemci

Bu senaryo, geri çağırma ve için G ve A' etkinliklerini ve endCallbunların içeri/dışarı aktarımlarını ekler.

Bu bölümde yalnızca ile propagateActivity=trueHTTP kullanımı gösterilmektedir. Ancak, ek etkinlikler ve aktarımlar diğer durumlar için de geçerlidir (tcp propagateActivity=falseveya adlandırılmış kanal kullanarak).

geri arama, istemci sonuçların hazır olduğunu bildirmek için kullanıcı kodunu çağırdığında yeni bir etkinlik (G) oluşturur. Kullanıcı kodu daha sonra endCall geri arama içinde (Şekil 5'te gösterildiği gibi) veya geri arama dışında çağrılar (Şekil 6) . Hangi kullanıcı etkinliğinin endCall çağrıldığı bilinmediğinden, bu etkinlik olarak etiketlenir A’. A'nın A ile aynı veya A'dan farklı olması mümkündür.

Shows an asynchronous client with callback, endcall in callback.

Shows an asynchronous client with callback, endcall outside callback.

Geri Çağırma ile Zaman Uyumsuz Sunucu

Shows an asynchronous server with callback.

Kanal yığını, İleti Alma sırasında istemciyi geri çağırır: Bu işlemeye yönelik izlemeler ProcessRequest etkinliğinin kendisinde yayılır.

Zaman Uyumsuz İstek/Hatalarla Yanıtla

hata iletisi hataları sırasında endCallalınır. Aksi takdirde, etkinlikler ve aktarımlar önceki senaryolara benzer.

Hataları olan veya Olmayan Zaman Uyumsuz Tek Yönlü

İstemciye yanıt veya hata döndürülmedi.