Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Det här avsnittet innehåller en allmän översikt över strukturen för ett Service Broker-program, beskriver några av de vanligaste strategierna för att starta ett program som använder Service Broker och beskriver de grundläggande stegen för att ta emot och bearbeta meddelanden.
Programmet för en initierande tjänst använder -instruktionen BEGIN DIALOG för att ange information om tjänsterna vid varje slutpunkt och tjänstkontraktet som programmet ska använda för att kommunicera. Programmet använder -instruktionen SEND för att skicka det första meddelandet i konversationen till måltjänsten. Programmet måste vara förberett för att ta emot och bearbeta meddelanden från Service Broker, även om kontraktet inte tillåter att måltjänsten returnerar meddelanden. Det initierande programmet implementeras ofta som två separata komponenter. En komponent påbörjar konversationen. den andra komponenten bearbetar meddelanden som tas emot i kön.
Programmet för en måltjänst tar emot och bearbetar meddelanden från den initierande tjänsten. Programmet måste också vara förberett för att ta emot och bearbeta meddelanden från Service Broker.
Beroende på tjänstens behov kan den del av programmet som bearbetar kön startas på flera olika sätt. Mer information om hur du startar ett program som använder Service Broker finns i Välj en startstrategi.
Programmet startar dock en transaktion och använder -instruktionen RECEIVE för att ta bort ett meddelande. Programmet extraherar data från meddelandena och utför all nödvändig bearbetning. Om det behövs använder programmet -instruktionen SEND för att skicka meddelanden till andra sidan konversationen. Programmet genomför sedan transaktionen. För effektivitet kan programmet bearbeta flera meddelanden inom samma transaktion. Tjänster som underhåller tillstånd använder ofta -instruktionen GET CONVERSATION GROUP för att låsa en konversationsgrupp, hämta tillstånd för konversationsgruppen och sedan bearbeta flera meddelanden för konversationsgruppen.
Konversationen fortsätter, med hjälp av SEND - och RECEIVE -instruktioner för att överföra meddelanden mellan slutpunkterna. Vid behov kan någon av deltagarna i konversationen använda BEGIN DIALOG för att starta en konversation med en annan tjänst för att få ytterligare information. Ett program som bearbetar ett händelsemeddelande kan till exempel initiera en annan konversation med en tjänst som tillhandahåller personalinformation för att hämta aktuell kontaktinformation innan en avisering skickas.
När konversationen har uppnått sitt syfte använder programmet vid lämplig slutpunkt en END CONVERSATION instruktion för att avsluta konversationen. Den andra deltagaren tar också emot END CONVERSATION meddelandet och utfärdar ett END CONVERSATION meddelande på sin sida. När båda deltagarna har utfärdat END CONVERSATION meddelanden avslutas konversationen.
Om ett fel uppstår kan en deltagare i konversationen indikera ett fel genom att avsluta konversationen WITH ERROR med hjälp av -satsen.
WITH ERROR Med hjälp av -satsen avslutas konversationen och ett Service Broker-felmeddelande skickas till den andra deltagaren i konversationen.
Om Service Broker upptäcker ett fel eller om konversationens livslängd upphör att gälla avslutar Service Broker konversationen och returnerar ett felmeddelande till de aktiva deltagarna. Om Service Broker inte kan upprätta en konversation är den enda aktiva deltagaren det initierande programmet och felet levereras till den initierande tjänsten. Om en deltagare redan har avslutat konversationen levereras felmeddelandet till den andra deltagaren. Annars levereras felet till båda deltagarna i konversationen.
I det här avsnittet
| Article | Description |
|---|---|
| Välj en startstrategi | Här beskrivs några av de vanligaste strategierna för att starta ett program som använder Service Broker. |
| Programdisposition för Service Broker | Beskriver de grundläggande stegen för att ta emot och bearbeta meddelanden. |