Condividi tramite


Stati di operazioni asincrone

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

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.

Diagramma stato AsyncOperation

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

  1. Recuperare AsyncOperation per nome utilizzando il metodo RetrieveMultiple o da ID utilizzando il metodo Retrieve.

  2. Leggere l'attributo AsyncOperation.StateCode.

Modificare il codice dello stato

  1. 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.

  2. 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 CRM 2015
Entità AsyncOperation (processo di sistema)
Dipendenza ordine di esecuzione nelle operazioni asincrone

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright