Stati di operazioni asincrone
Data di pubblicazione: gennaio 2017
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Dopo che operazioni asincrone vengono aggiunte alla coda asincrona, esistono in uno stato ben definito. Un'operazione asincrona può essere in attesa di esecuzione, può essere in esecuzione o può essere conclusa. Esistono inoltre altri stati possibili prima che l'operazione sia eventualmente eliminata dalla coda. Gli stati definiscono il ciclo di vita dell'operazione asincrona.
In questo argomento
Stati per operazioni asincrone
Recuperare e aggiornare gli stati AsyncOperation
Stati per operazioni asincrone
Lo stato dell'operazione asincrona può essere alterato da tre mezzi: dalla piattaforma nell'ambito dell'elaborazione di coda regolare, dall'utente che interagisce con l'applicazione Web Microsoft Dynamics 365 o da una chiamata del servizio Web che altera l'operazione asincrona. Come sviluppatore è possibile recuperare lo stato corrente di ogni operazione asincrona a cui si ha accesso nonché modificare lo stato.
Nella tabella seguente sono elencati gli stati e gli stati per ogni stato di AsyncOperation.
stato |
Stato |
Valore di stato numerico |
---|---|---|
Ready |
WaitingForResources |
0 |
Suspended |
Waiting |
10 |
Locked |
InProgress |
20 |
Locked |
Pausing |
21 |
Locked |
Canceling |
22 |
Completed |
Succeeded |
30 |
Completed |
Failed |
31 |
Completed |
Canceled |
32 |
Gli stati supportati sono definiti nell'enumerazione AsyncOperationState. Nella classe AsyncOperation con associazione anticipata, lo stato è disponibile nell'attributo AsyncOperation.StateCode mentre lo stato è disponibile nell'attributo AsyncOperation.StatusCode. Per ulteriori informazioni, vedere i metadati dell'entità AsyncOperation.Per visualizzare i metadati di entità per l'organizzazione, installa la soluzione Browser di metadati descritta in Visualizzazione dei metadati per l'organizzazione. Puoi inoltre visualizzare i metadati per un'organizzazione non personalizzata nel file Excel EntityMetadata.xlsx incluso nella cartella di livello superiore di Download degli SDK.. Gli stati vengono visualizzati nell'applicazione Web Microsoft Dynamics 365 nel campo Motivo stato nella griglia Processi di sistema. Selezionando una delle voci di menu nel menu Altre azioni in Processi di sistema, è possibile alterare interattivamente lo stato di un'operazione asincrona. Le azioni concesse includono le seguenti: Annullamento, Riprendi, Posticipa e Sospendi.
Nel diagramma seguente vengono illustrate le transizioni dello stato delle operazioni asincrone supportate.
Si noti che un'operazione asincrona può solo passare da uno stato a un altro lungo percorsi specifici come indicato nel diagramma. Alcuni percorsi vengono avviati dall'utente che interagisce con l'applicazione Web di Microsoft Dynamics 365 mentre altri percorsi vengono avviati dalla piattaforma Microsoft Dynamics 365 nell'ambito dell'elaborazione della coda asincrona regolare o a causa di una chiamata del servizio Web. Ad esempio, un'operazione asincrona non può passare direttamente da uno stato sospeso a uno stato bloccato.
Uno stato bloccato indica che l'istanza AsyncOperation è utilizzata dal servizio asincrono. Mentre è bloccata non può essere utilizzata da un'altra istanza del servizio. Ciò garantisce che l'istanza non venga eseguita più di una volta, ad esempio da due servizi asincroni diversi.
Recuperare e aggiornare gli stati AsyncOperation
Il monitoraggio e l'aggiornamento dello stato di un'operazione asincrona vengono in genere eseguiti in modo interattivo tramite la griglia Processi di sistema nell'applicazione Web Microsoft Dynamics 365. Tuttavia, è anche possibile utilizzare l'SDK per scrivere un codice che esegue quelle stesse attività.
Leggere lo stato di un'operazione asincrona
Recuperare AsyncOperation per nome utilizzando il metodo RetrieveMultiple o da ID utilizzando il metodo Retrieve.
Leggere l'attributo AsyncOperation.StateCode.
Modificare il codice dello stato
Modificare l'attributo del codice di stato recuperato con un nuovo valore in base agli stati di operazioni consentiti. È inoltre possibile modificare l'attributo AsyncOperation.PostponeUntil.
Chiamare Update per modificare il valore di quegli attributi nel database.
Le operazioni precedenti possono inoltre essere eseguite utilizzando il metodo Execute con i messaggi di richiesta appropriati. Attributi di AsyncOperation diversi da AsyncOperation.StateCode e AsyncOperation.PostponeUntil devono essere considerati di sola lettura.
Processi di sistema ricorrenti
Non è possibile annullare, sospendere o riprendere la maggior parte dei processi di sistema. Fare riferimento all'elenco seguente che identifica alcuni di questi processi di sistema con restrizioni. Il valore nella prima colonna è il valore dell'attributo OperationType dell'entità AsyncOperation.
Tipo di operazioni asincrona (valore opzione) |
Descrizione delle operazioni |
---|---|
22 |
Calcolo dimensioni massime archivio organizzazione |
18 |
Calcolo dimensioni archivio organizzazione |
19 |
Raccolta statistiche database organizzazione |
20 |
Raccolta statistiche dimensioni organizzazione |
16 |
Raccolta statistiche organizzazione |
9 |
Raccolta dati SQM |
25 |
Indice catalogo full-text organizzazione |
31 |
Notifica limite spazio di archiviazione |
24 |
Aggiornamento intervalli statistici |
27 |
Aggiornamento stati contratto |
Per l'elenco completo dei tipi di operazioni asincrone supportate, vedere i metadati dell'entità AsyncOperation.Per visualizzare i metadati di entità per l'organizzazione, installa la soluzione Browser di metadati descritta in Visualizzazione dei metadati per l'organizzazione. Puoi inoltre visualizzare i metadati per un'organizzazione non personalizzata nel file Excel EntityMetadata.xlsx incluso nella cartella di livello superiore di Download degli SDK.
Vedere anche
Servizio asincrono in Microsoft Dynamics 365
Entità AsyncOperation (processo di sistema)
Dipendenza ordine di esecuzione nelle operazioni asincrone
Microsoft Dynamics 365
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright