Aracılığıyla paylaş


Iletişim konuşmaları

Tarafından gönderilen tüm iletiler Service Broker bir görüşmeyi parçasıdır. Bir iletişim kutusu, iki hizmet arasındaki bir görüşmeye ' dir.Bir iletişim kutusu, iki hizmet arasındaki iletileri bir güvenilir, kalıcı bir çift yönlü akışıdır.

Iletişim kutuları, tam olarak-kez-sıralı (EOIO) ileti teslimini sağlar.Iletişim kutuları, ilgili iletileri tanımlamak ve doğru sırada iletilerin tesliminde her iletide yer alan konuşma tanıtıcısı ve sıra numaraları kullanın.Bir iletişim kutusu, iki hizmet arasındaki iletilerin güvenilir, sürekli bir akış ' dir.

Iletişim konuşma iki katılımcı yok.The initiator starts the conversation.The hedef accepts a conversation begun by the initiator.Katılımcı görüşmeyi başlayıp başlamadığını katılımcıya göndermek için iletileri olarak belirler sözleşmedeki görüşme için belirtildiği gibi.Aşağıdaki çizimde, bir iletişim kutusu iletisi akışını göstermektedir:

Message flow between initiator and target

Uygulamalar, iletileri iletişim kutusu bir parçası olarak exchange.Ne zaman SQL Server bir iletişim kutusu için bir ileti alır. SQL Server ileti iletişim kutusu için sıraya koyar. Uygulama, sıradan ileti alır ve gerekirse iletisini işler.Işlem bir parçası olarak, uygulama iletileri diğer gönderebilir katılımcı iletişim.

Güvenilir teslim

Dialogs incorporate automatic message receipt acknowledgements to ensure reliable delivery.Service Broker saves each outgoing message in the transmission queue until the message is acknowledged by the remote service.Bu otomatik bildirimleri, açıkça her iletinin kabul etmek bir uygulama için gereksiz yaparak saat ve kaynak kaydedin.Mümkünse, alındı bildirimi iletileri parçası olarak iletişim kutusu için iade iletilerinin dahil edilir.

Not

Service Broker alındı bildirimi iletileri, dahili olarak işler.Bu iletiler sıraya görünmez ve uygulamaya teslim edilmiyor.

Service Broker Uzak bir hizmet, ulaşılamaz duruma gelmesine hata olmasını dikkate almaz.Ne zaman bir uzak hizmetin erişilemiyor Service Broker iletiler için bu hizmetin hizmet erişilebilir olur veya iletişim yaşam süresi kadar tutar.

Iletişim etkin kalma süresi

Iletileri iletişim yaşam süresi sırasında uygulamalar arasında değiştirilebilmesi için.Kullanım ömrü saat arasında bir iletişim kutusu sürer. persistent saat, yerel SQL Server bir uygulama açıkça iletişim sona erdirir veya iletişim kutusu ile ilişkili bir hata iletisi alıyor kadar örnek iletişim kutusu oluşturur. Her katılımcı uygulama hata veya son görüşmenin belirten bir ileti aldığında, açıkça görüşmeyi bitiş için sorumludur.Hizmetlerin çoğu, bir katılımcı görüşmeyi hatasız bir görüşmeyi bitiş tarafından tümüyle ve başarılı olduğunu gösteren sorumludur.Olup bu hedef veya başlatıcı tarafından yapılır, görüşmeyi amacını bağlıdır.

Yerel Service Broker için uygulama iletişim kutusu yeniden başlatıldığında, başlatan bir uygulama iletişim kutusu için bir konuşma uç noktası oluşturur. Yerel Service Broker örnek iletişim kutusunda ilk iletiyi aldığında, bir hedef için uygulama iletişim kutusu için bir konuşma uç noktası oluşturur.

Iletişim kutuları da yaşam süresini konuşma belirli bir sınırı aşmayı garanti edilmektedir.Başlatan uygulama isteğe bağlı olarak, iletişim için en fazla etkin kalma süresi belirleyebilirsiniz.Her iki yerel Service Broker ve Uzaktan Service Broker Bu etkinlik kaydını tutun. En fazla yaşam saat sırasında bir iletişim kutusu etkin kalır, konuşmayı her iki tarafında bir saat aşımı hata iletisi, hizmet sıraya koyar ve iletişim kutusunu yeni iletileri reddeder.Iletişim kutusunu yeniden başlatıldığında, kurulmuş en fazla yaşam hiçbir zaman canlı görüşmeleri.Bir uygulama hala görüşmeyi sonra konuşma sona iletileri alabilir, ancak hiçbir yeni iletiler için Konuşma uygulama konuşmaya ile ilgili iletileri gönderemezsiniz ulaşmasını, dikkat edin.

Applications are responsible for indicating when they are finished with a dialog by explicitly ending the dialog.Service Broker never ends a dialog automatically.Iletişim, uygulama, açıkça konuşmayı sona kadar veritabanında kalır.Bu nedenle, iletişim kutusunun ne zaman aşımına uğrar veya olsa bile Aracısı hata raporlarını, her katılımcı iletişimindeki açıkça END KONUşMA deyim kesmeniz gerekir.

Konuşma süreölçeri

C Konuşma saat r belirli bir ileti almak bir uygulama sağlar saat.Konuşma süreölçer, dolduğunda SQL Server sıra için bir görüşme, görüşmeyi süreölçeri başlatıldı, uç görüşme için bir iletiye ekler. Bir uygulama, herhangi bir amaç için bir konuşma süreölçer kullanabilirsiniz.Bir ortak bir görüşmeyi süreölçer gecikmeler yanıtlarında uzaktan yanıt kullanılır hizmet.Başka bir çok uzak hizmetin iletileri gönderen bir hizmet oluşturmak için kullanılır küme aralıkları.Bir hizmet üzerinde geçerli durumunu bildirmek için konuşma süreölçer kullanabilir SQL Server birkaç dakikada. Uygulamalar, belirli bir zamanda saklı yordam etkinleştirmek için bir konuşma süreölçer'nı kullanabilirsiniz.Bu izin verir. Service Broker Zamanlanmış Aktiviteler desteklemek için .

Her katılımcıya bir görüşmesinde bir görüşmeyi süreölçer konuşma başına ayarlayabilirsiniz.Konuşma süreölçer ile diğer bir katılımcı paylaşılan ve konuşmaya süreölçer görüşmenin yaşam süresini etkilemez.Bunun yerine, süreölçeri, yerel dolduğunda Service Broker Sıranın yerel hizmet için bir saat aşımı iletisi ekler. Bir saat aşımı iletisi türü adı olabilir... https://schemas.Microsoft.com/SQL/ServiceBroker/DialogTimer