共用方式為


合約

合約定義了應用程式會使用何種訊息類型來完成特定工作。合約是兩個服務之間有關各個服務傳送何種訊息來完成特定工作的協定。合約定義保存於建立類型的資料庫中。

您會在參與交談的各資料庫中建立相同的合約。例如,如果人力資源應用程式想要確認員工識別碼,則要求驗證的服務必須知道另一個服務需要的訊息類型。要求的服務還必須知道它預期會接收到的訊息類型,以便準備處理它們。

合約會指定何種訊息類型可用於完成所要的工作。合約還會指定交談中的哪方參與者可使用每個訊息類型。有些訊息類型可由各方參與者傳送;而另一些訊息類型則僅限由起始端或目標傳送。合約必須包含由起始端傳送或由各方參與者傳送的訊息類型;否則,起始端將無法開始使用此合約的交談。

Service Broker 還包含名為 DEFAULT 的內建合約。DEFAULT 合約只包含訊息類型 SENT BY ANY。如果 BEGIN DIALOG 陳述式中未指定合約,則 Service Broker 會使用 DEFAULT 合約。

例如,合約可具有的訊息類型有: SubmitRequestProcessRequestRequestStatus。只有起始端點可使用 SubmitRequest,而只有目標端點可傳送 ProcessRequest。交談的各方參與者都可傳送 RequestStatus 訊息類型。RequestStatus 訊息類型可讓參與者在其處理期間查看目標在何處,或詢問起始端與此要求相關之任何平行處理的狀態。

請參閱

概念

訊息類型

其他資源

CREATE CONTRACT (Transact-SQL)
DROP CONTRACT (Transact-SQL)
Creating Service Broker Contracts

說明及資訊

取得 SQL Server 2005 協助