Aracılığıyla paylaş


Broker sistem iletileri

Service BrokerDurum ve hata bilgileri iletişim kurmak için üç sistem ileti türlerini kullanır Service Broker.

Sistem iletilerini işleme

İletilerin çoğu bir Service Broker olan uygulama tanımlı ileti Hizmetleri arasında iletişim kurmak için kullanılan konuşmaHer iletinin bir ileti türü oluşturma deyim tarafından tanımlanan bir ileti türü biçimiyle uymanız gerekir.Konuşmaya izin verilen ileti türleri küme başlamak iletişim KONUŞMADA belirtilen anlaşma tarafından tanımlanan deyim.

Belirtilen uygulama tanımlı ileti türleri ek olarak anlaşma, herhangi bir görüşme de üç sistem tanımlı ileti türlerinden birini kullanan iletileri alabilir.Bu ileti türleri tarafından kullanılan Service Broker rapor hataları ve durumunu iletişim kutuları.Her uygulama mantığı hata iletileri ve son iletişim kutusu iletilerini işlemek için içermesi gerekir.If the application sets a conversation timer on a dialog conversation, the application must contain logic to handle Dialog Timer messages.Service Broker provides these message types to every service, whether they appear in the contract for the service or not.Daha fazla bilgi için bkz: Hizmet Aracısı hata iletileri işleme.

Hata iletileri

Uzak Hizmet sona erdiği bir iletişim hatası veya yerel broker iletişim kutusunda kurtarılamaz bir hata algılarsa, yerel broker hata iletisi oluşturur.Hata iletileri, ileti türü olan **https://schemas.microsoft.com/SQL/ServiceBroker/Error**.Hata iletileri, iyi biçimlendirilmiş xml olarak doğrulanır.

Hata iletisi içeren bir xml belgesi, bir ad alanı kullanır **https://schemas.microsoft.com/SQL/ServiceBroker**.Belgenin kök öğesi yerel adı olan hata, adlı bir öğe içerir ve kod ve adlı bir öğe ileti.The Code element holds an integer value.The Message element holds the human-readable text of the message.

Örneğin, gider raporları işleyen hizmet tarafından oluşturulan bir hata iletisi (yeniden biçimlendirilebileceği okunabilirlik için) aşağıdaki xml içerebilir:

<?xml version="1.0"?>
<Error xmlns="https://schemas.microsoft.com/SQL/ServiceBroker">
  <Code>12</Code>
  <Description>
    Unknown cost center "127-1000". Please check the cost center list
    and resubmit the report.
  </Description>
</Error>

Bir alma işlemi hiçbir ileti iletişim timer ileti dışında o iletişim için önce bir hata iletisi alır.Bu hata iletisi sırasına teslim alındığında sırası ne olursa olsun oluşur.Bir sıra hem iletişim timer iletisi ve bir hata iletisi varsa, alma işlemi iletişim timer iletiden önce hata iletisi alır.

Hata iletisi iletişim kutusu için geldiğinde, bu iletişim kutusunda ileti göndermek bir uygulama çalışırsa, broker hata yükseltir.Ancak, bile bu hata iletisini aldıktan sonra bir uygulama iletişim için kalan tüm iletileri alabilirsiniz.

Son iletişim iletileri

Bir uygulama bir iletişim kutusu hata belirtmeden bittiğinde, yerel broker uzak Aracısı için bir bitiş iletişim iletisi gönderir.Son iletişim iletileri ileti türü olan https://schemas.microsoft.com/SQL/ServiceBroker/EndDialog.

Son iletişim kutusu iletilerini boş iletilerdir.Bir alma işlemi hangi sırada Mesajın geldiği sırada bir bitiş iletişim iletisi alır.

İletişim Timer iletileri

İletişim timer iletileri bir iletişim kutusunda konuşma süreölçerin süresinin dolduğunu belirtir.Bu iletiler ileti türü olan **https://schemas.microsoft.com/SQL/ServiceBroker/DialogTimer**.Konuşma süreölçer Konuşmayı bir tarafa özeldir; Service Brokerhiçbir zaman diğer tarafında görüşme için bir iletişim timer iletisi gönderir.

İletişim timer iletileri boş iletilerdir.Bir alma işlemi iletişim timer iletiden önce saat aşımı iletisi sırasına teslim alındığında sırası ne olursa olsun o iletişim için başka bir ileti alır.