Statushantering

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

Ett program som underhåller tillståndet lagrar vanligtvis det tillståndet i databastabeller. Eftersom varje konversationsgrupp har en unik identifierare används den identifieraren vanligtvis som en nyckel för tillståndstabellen. Service Broker tillhandahåller också kvarhållning av meddelanden för program som måste bevara de exakta meddelanden som skickas och tas emot.

Många applikationer kräver inte tillstånd. I allmänhet upprätthåller ett program tillstånd om uppgiften innehåller mer än ett meddelande och det finns information om uppgiften som inte kan lagras i de befintliga tabellerna för databasen.

Ett program som till exempel söker upp och returnerar kundinformation kräver inte tillstånd och använder inte en tillståndstabell. Å andra sidan genererar ett program som hanterar orderuppfyllelse begäranden till flera andra tjänster. Ett program som samordnar begäranden till andra tjänster använder ofta en tillståndstabell för att spåra begäranden. Programmet uppdaterar datatabellerna och rensar tillståndstabellen när alla begäranden har slutförts. Om en begäran returnerar ett fel skickar programmet begäran igen eller använder tillståndstabellen för att skicka en kompenserande begäran.

Ett program kan också använda en tillståndstabell för gransknings- eller loggningsändamål. Programmet sparar viktig information om varje begäran i tillståndstabellen. I det här fallet tar programmet inte bort information från tillståndstabellen när en konversation slutförs.

Vissa applikationer kan kräva en noggrann registrering av de meddelanden som skickas och tas emot under tiden som konversationen är aktiv. I det här scenariot tillhandahåller Service Broker kvarhållning av meddelanden.