Condividi tramite


Gestione dello stato

Un'applicazione che mantiene informazioni sullo stato in genere archivia lo stato in tabelle di database. Poiché a ogni gruppo di conversazioni è associato un identificatore univoco, tale identificatore viene utilizzato in genere come chiave per la tabella di stato. In Service Broker è inoltre disponibile la funzionalità di memorizzazione dei messaggi per le applicazioni che devono mantenere in modo preciso i messaggi inviati e ricevuti.

Per molte applicazioni lo stato non è necessario. In generale, un'applicazione mantiene informazioni sullo stato se nell'attività è coinvolto più di un messaggio e se sono presenti informazioni sull'attività che non possono essere archiviate nelle tabelle esistenti per il database.

Per un'applicazione che esegue la ricerca e restituisce informazioni relative al cliente ad esempio lo stato non è necessario e pertanto l'applicazione non utilizza una tabella di stato. Al contrario, un'applicazione che gestisce l'evasione di ordini genera richieste a diversi altri servizi. Un programma che coordina richieste ad altri servizi spesso utilizza una tabella di stato per registrare le richieste. L'applicazione aggiorna le tabelle di dati e cancella il contenuto della tabella di stato quando tutte le richieste sono state soddisfatte correttamente. Se una richiesta restituisce un errore, l'applicazione invia nuovamente la richiesta oppure utilizza la tabella di stato per inviare una richiesta di compensazione.

Un'applicazione può inoltre utilizzare una tabella di stato per scopi di controllo o di registrazione. L'applicazione salva le informazioni importanti relative a ogni richiesta nella tabella di stato. In questo caso, l'applicazione non elimina le informazioni dalla tabella di stato quando una conversazione è completata.

Per alcune applicazioni può essere necessario un record preciso dei messaggi inviati e ricevuti mentre la conversazione è attiva. Per uno scenario di questo tipo, in Service Broker è disponibile la funzionalità di memorizzazione dei messaggi.