建立 Service Broker 合約
「合約」(Contracts) 會定義特定商務工作的名稱,並列出在該工作中使用的訊息類型。Service Broker 合約定義兩個不同的服務角色:起始端與目標。透過將訊息傳送到目標,交談的起始端會開始交談。交談所使用的合約會定義哪些服務角色可以傳送指定訊息類型的訊息。
對於服務執行的每個工作,請建立一個合約,以包括工作中每個步驟的訊息類型。對於每個訊息類型,請指定是否要將訊息類型從起始端傳送到目標、從目標傳送到起始端,或是兩個方向。
合約不會指定訊息排序或是可以傳送的特定類型之訊息數目。Service Broker 需要起始器在對話交談中傳送第一個訊息。在第一個訊息之後,沒有排序需求。
多個合約可以使用相同的訊息類型。例如,由含有零件編號與數量的 XML 文件所組成的訊息,對於接受客戶訂單的工作、管理存貨的工作以及要求運送的工作,可能會非常有用。每個工作都會對應到不同的合約,但是這三個合約全部都可以使用相同的訊息類型。
訊息的網路格式包括合約的名稱。因此,通常會選擇合約名稱來避免定序問題與命名衝突。如需有關命名的詳細資訊,請參閱<命名 Service Broker 物件>。