WorkflowInstance Classe

Definizione

Attenzione

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Rappresenta un'istanza del flusso di lavoro.

public ref class WorkflowInstance sealed
public sealed class WorkflowInstance
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowInstance
type WorkflowInstance = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowInstance = class
Public NotInheritable Class WorkflowInstance
Ereditarietà
WorkflowInstance
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come creare e avviare una WorkflowInstance in un host del flusso di lavoro. Il codice crea un'istanza di WorkflowRuntime, aggiunge servizi al runtime e quindi dimostra la modalità consigliata per creare un oggetto WorkflowInstance. Il codice inizializza WorkflowInstance chiamando il metodo CreateWorkflow e passando il tipo precedentemente creato a tale metodo. L'oggetto WorkflowInstance viene avviato con la chiamata al metodo Start.

Questo esempio di codice fa parte dell'esempio SDK Canceling a Workflow nel file Program.cs. Per altre informazioni, vedere Annullamento di un flusso di lavoro.

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

Commenti

Nota

In questo materiale vengono descritti tipi e spazi dei nomi obsoleti. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).

La classe WorkflowInstance espone metodi e proprietà che possono essere utilizzati per controllare l'esecuzione di un'istanza del flusso di lavoro; essenzialmente è un proxy dell'istanza del flusso di lavoro effettiva utilizzato dal motore di runtime del flusso di lavoro. Un host o un servizio possono specificare al motore di runtime del flusso di lavoro di eseguire azioni su un'istanza del flusso di lavoro chiamando i metodi adatti contenuti nella classe WorkflowInstance. Se l'azione richiesta non è valida, ad esempio, se l'host chiama il metodo Load su un'istanza del flusso di lavoro che è già stata completata, il motore di runtime del flusso di lavoro genererà un'eccezione adatta.

Nota

Se un'istanza del flusso di lavoro non risponde perché una chiamata sull'applicazione host non viene restituita, l'unico modo per recuperare l'istanza è riavviare il runtime. Tuttavia, se l'istanza è stata forzatamente scaricata, interrotta o sospesa, può essere ripresa chiamando il metodo WorkflowInstance.Resume.

Proprietà

InstanceId
Obsoleti.

Ottiene l'identificatore univoco per l'istanza del flusso di lavoro.

WorkflowRuntime
Obsoleti.

Ottiene la classe WorkflowRuntime per questa istanza del flusso di lavoro.

Metodi

Abort()
Obsoleti.

Interrompe l'istanza del flusso di lavoro.

ApplyWorkflowChanges(WorkflowChanges)
Obsoleti.

Applica modifiche all'istanza del flusso di lavoro specificata dall'oggetto WorkflowChanges.

EnqueueItem(IComparable, Object, IPendingWork, Object)
Obsoleti.

Inserisce un messaggio in modo sincrono nella coda del flusso di lavoro specificata.

EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)
Obsoleti.

Inserisce un messaggio in modo sincrono nella coda del flusso di lavoro quando il flusso di lavoro è inattivo. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) attende che il flusso di lavoro raggiunga un punto inattivo e lo inserisce in una coda dopo avere verificato che l'Utilità di pianificazione del flusso di lavoro sia inattiva (ovvero, nessuna operazione attiva è in esecuzione).

Equals(Object)
Obsoleti.

Restituisce un valore che indica se l'oggetto specificato è uguale a WorkflowInstance.

GetHashCode()
Obsoleti.

Restituisce il codice hash per l'istanza del flusso di lavoro.

GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetWorkflowDefinition()
Obsoleti.

Recupera l'attività radice per questa istanza del flusso di lavoro.

GetWorkflowNextTimerExpiration()
Obsoleti.

Restituisce il momento successivo in cui deve essere recapitato un messaggio del timer a questa classe WorkflowInstance.

GetWorkflowQueueData()
Obsoleti.

Ottiene una raccolta di oggetti WorkflowQueueInfo che contiene gli elementi in sospeso e le attività sottoscritte per le code del flusso di lavoro associate a questa istanza del flusso di lavoro.

Load()
Obsoleti.

Carica un'istanza del flusso di lavoro precedentemente scaricata.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ReloadTrackingProfiles()
Obsoleti.

Ricarica i profili di rilevamento per l'istanza del flusso di lavoro.

Resume()
Obsoleti.

Riprende l'esecuzione di un'istanza del flusso di lavoro precedentemente sospesa.

Start()
Obsoleti.

Avvia l'esecuzione dell'istanza del flusso di lavoro.

Suspend(String)
Obsoleti.

Sospende l'istanza del flusso di lavoro.

Terminate(String)
Obsoleti.

Termina l'istanza del flusso di lavoro in modo sincrono.

ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryUnload()
Obsoleti.

Scarica l'istanza del flusso di lavoro dalla memoria all'archivio di persistenza quando l'istanza viene sospesa o è inattiva.

Unload()
Obsoleti.

Scarica l'istanza del flusso di lavoro dalla memoria all'archivio di persistenza. Questa chiamata rimane bloccata fino al termine del lavoro attualmente pianificato o alla fine di un ambito della transazione.

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche