IPlaybackControl Arabirim

Tanım

Message Queuing teslim mekanizmasının sunucu tarafı kayıttan yürütme hatalarının ve istemci tarafı hatalarının anormal işlenmesinde Kuyruğa Alınan Bileşenlerdeki işlevler.

public interface class IPlaybackControl
[System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[<System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IPlaybackControl = interface
Public Interface IPlaybackControl
Öznitelikler

Açıklamalar

COM+ kataloğundaki bileşen için tanımlanan özel durum sınıfı, özgün sınıf için hem hem de IPlaybackControl arabirimini uygular. Özgün sınıf arabiriminin yöntem uygulamaları, sınıfın kendisindeki başarısız yöntemler için özel durum işlemeyi gerçekleştirmek için kullanılır. İlk olarak çağrılan yöntemin özel durumlarını işlemek için veya FinalServerRetry sonrasında FinalClientRetry çağrılacaktır.

Kuyruğa Alınan Bileşenler Yürütücüsünün IPlaybackControl yöntemini çağırarak özel durum işleyici nesnesine iletinin son bekleme veya teslim edilemeyen ileti kuyruğuna yerleştirilmek üzere olduğunu bildirir. Ardından Kuyruğa Alınan Bileşenler Oynatıcısı, özgün yöntem çağrısında başarısız olan özel durum işleyici nesnesinde aynı yöntemi çağırır. Özel durum işleyici nesnesi, örneğin sorun tanılama bilgilerini toplayarak veya istemciye sorunu bildiren bir nesne veya ileti oluşturarak alternatif bir uygulama yapabilir. Uygulama uygulamazsa IPlaybackControl, Kuyruğa Alınan Bileşenler Oynatıcısı tüm yeniden denemeleri tükettiğinde zehir iletisi son bekleme veya teslim edilemeyen ileti kuyruğuna yerleştirilir.

Zehirli ileti, sunucu veya kuyruğa alma sistemiyle ilgili bir sorun nedeniyle herhangi bir nedenle işlenemeyen bir iletidir. İşlem geri alınır ve zehir iletisi kuyruğun en üstüne gider. İleti yeniden kuyruktan çıkarıldığında aynı durum oluşur. Bu ileti, sorunu düzeltmek için bir şey yapılana kadar süresiz olarak döngüye devam edebilir. Kuyruğa Alınan Bileşenler hizmeti, bir dizi yeniden deneme kullanarak zehirli iletiyi işler. Birkaç başarısız yeniden denemeden sonra, ileti son bir bekleme kuyruğuna taşınır. Zehirli iletiler, Kuyruğa Alınan Bileşenler İleti Taşıyıcı aracı kullanılarak el ile taşınana kadar bekleme kuyruğunda kalır.

Zehirli ileti durumu, sunucu tarafı bileşen yazarına ertelenen etkinleştirmeyi geri alma girişimlerinin FinalServerRetry başarısız olduğunu bildiren yöntemi kullanılarak program aracılığıyla da çözülebilir.

Zehirli bir ileti bulursanız, sorunun temel nedenini hızlı bir şekilde çözebilirsiniz. Örneğin, sunucu herhangi bir nedenle çevrimdışıysa sunucuyu yeniden çevrimiçi yapabilirsiniz. Sorunu hızlı bir şekilde çözemiyorsanız, istek sahibine işlemin gerçekleşmediğini bildiren başka bir işlemi otomatik olarak oluşturabilirsiniz. İstek sahibi daha sonra zaten kaydedilmiş bir işlemin etkisini tersine çeviren bir telafi işlemi yapabilir.

Yöntemler

FinalClientRetry()

İstemci tarafı özel durum işleme bileşenine, iletiyi sunucuya teslim etmeye yönelik tüm Message Queuing girişimlerinin reddedildiğini ve iletinin istemci tarafı Xact Teslim Edilemedi İletisi kuyruğunda sona erdiğini bildirir.

FinalServerRetry()

Sunucu tarafı özel durum sınıfı uygulamasına, sunucuya ertelenen etkinleştirmeyi yürütmeye yönelik tüm girişimlerin başarısız olduğunu ve iletinin son bekleme kuyruğuna taşınmak üzere olduğunu bildirir.

Şunlara uygulanır