訊息類型
使用 Service Broker 之應用程式的通訊方式是將訊息當做交談的一部分來相互傳送。交談的參與者必須同意每則訊息的名稱和內容。「訊息類型物件」定義了訊息類型的名稱以及訊息所包含的資料類型。訊息類型保存於建立訊息類型的資料庫中。您可以在參與交談的各資料庫中建立相同的訊息類型。
每個訊息類型都指定了 SQL Server 對該類型之訊息所執行的驗證。SQL Server 可以驗證訊息是否包含有效的 XML、訊息是否包含符合特定結構描述的 XML,或訊息是否完全不包含資料。對於任意或二進位資料,訊息類型可指定 SQL Server 不驗證訊息內容。
會在目的地服務接收訊息時執行驗證。如果訊息內容與指定的驗證不符,Service Broker 會將錯誤訊息傳回至傳送此訊息的服務。
重要事項 |
---|
不論指定的驗證為何,應用程式都必須確認訊息內容適用於應用程式,之後程式才會使用這些資料。 |
對於空訊息類型,訊息主體不可以包含資料。對於指定格式正確之 XML 的訊息類型,訊息主體必須是格式正確的 XML。對於指定符合特定結構描述集合之 XML 的訊息類型,訊息必須包含對集合中之其中一個結構描述有效的格式正確 XML。對於未指定驗證的訊息類型,SQL Server 會接受任何訊息內容,包括二進位資料、XML 或空訊息。
Service Broker 會提供名為 DEFAULT 的內建訊息類型。如果未在 Service Broker SEND 命令中指定訊息類型,系統會使用 DEFAULT 訊息類型。
Service Broker 包含一些系統訊息類型,可用來報告錯誤和對話的狀態。如需詳細資訊,請參閱<Broker 系統訊息>。