Skapa Service Broker-kontrakt

gäller för:SQL ServerAzure SQL Managed Instance

Kontrakt definierar namnet på en specifik affärsaktivitet och listar de meddelandetyper som används i den uppgiften. Service Broker-kontrakt definierar två olika tjänstroller: initieraren och målet. Initieraren av en konversation börjar konversationen genom att skicka ett meddelande till målet. Kontraktet som konversationen använder definierar vilken tjänstroll som kan skicka meddelanden av en viss meddelandetyp.

För varje uppgift som tjänsten utför skapar du ett kontrakt som innehåller meddelandetyperna för varje steg i uppgiften. För varje meddelandetyp anger du om meddelandetypen skickas från initieraren till målet, från målet till initieraren eller i båda riktningarna.

Ett kontrakt anger inte meddelandeordning eller antalet meddelanden av en viss typ som kan skickas. Service Broker kräver att initieraren skickar det första meddelandet i en dialogkonversation. Efter det första meddelandet finns det inga beställningskrav.

Fler än ett kontrakt kan använda samma meddelandetyper. Ett meddelande som till exempel består av ett XML-dokument som innehåller ett artikelnummer och kvantitet kan vara användbart i en uppgift som accepterar en order från en kund, en uppgift som hanterar inventering och en uppgift som begär leverans. Varje uppgift motsvarar ett distinkt kontrakt, men alla tre kontrakten kan använda samma meddelandetyp.

Nätverksformatet för ett meddelande innehåller namnet på kontraktet. Därför väljs kontraktnamn ofta för att undvika sorteringsproblem och namngivningskonflikter. Mer information om namngivning finns i Namntjänstmäklarobjekt.