WorkflowRuntime.CreateWorkflow Metodo

Definizione

Crea un'istanza di flusso di lavoro utilizzando i parametri specificati.

Overload

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)

Crea un'istanza di flusso di lavoro utilizzando i parametri specificati.

CreateWorkflow(Type, Dictionary<String,Object>, Guid)

Crea un'istanza di flusso di lavoro utilizzando i parametri specificati.

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>)

Crea un'istanza del flusso di lavoro utilizzando gli oggetti XmlReader specificati e gli argomenti contenuti nell'oggetto Dictionary<TKey,TValue> specificato.

CreateWorkflow(XmlReader)

Crea un'istanza del flusso di lavoro tramite l'elemento XmlReader specificato.

CreateWorkflow(Type)

Crea una nuova istanza del flusso di lavoro utilizzando l'oggetto Type del flusso di lavoro specificato.

CreateWorkflow(Type, Dictionary<String,Object>)

Crea un'istanza del flusso di lavoro utilizzando il flusso di lavoro Type e gli elementi per il flusso di lavoro contenuto nell'oggetto Dictionary<TKey,TValue> specificato.

Commenti

Se il motore di runtime del flusso di lavoro non è stato avviato, i metodi CreateWorkflow chiamano StartRuntime. Per un elenco delle possibili eccezioni, vedere StartRuntime. Dopo avere creato l'istanza del flusso di lavoro, chiamare WorkflowInstance.Start sull'oggetto WorkflowInstance restituito dal metodo CreateWorkflow per iniziare l'esecuzione.

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)

Crea un'istanza di flusso di lavoro utilizzando i parametri specificati.

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader, System::Xml::XmlReader ^ rulesReader, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues, Guid instanceId);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader, System.Xml.XmlReader rulesReader, System.Collections.Generic.Dictionary<string,object> namedArgumentValues, Guid instanceId);
member this.CreateWorkflow : System.Xml.XmlReader * System.Xml.XmlReader * System.Collections.Generic.Dictionary<string, obj> * Guid -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader, rulesReader As XmlReader, namedArgumentValues As Dictionary(Of String, Object), instanceId As Guid) As WorkflowInstance

Parametri

workflowDefinitionReader
XmlReader

Classe XmlReader contenente la definizione del flusso di lavoro.

rulesReader
XmlReader

Oggetto XmlReader.

namedArgumentValues
Dictionary<String,Object>

Dictionary<TKey,TValue> di oggetti con chiave impostata da una stringa che rappresenta gli argomenti per il flusso di lavoro.

instanceId
Guid

Guid della classe WorkflowInstance specifica da creare.

Restituisce

WorkflowInstance

Istanza del flusso di lavoro creata.

Eccezioni

workflowType è un riferimento null (Nothing in Visual Basic).

Commenti

Prima di essere creato, l'oggetto della classe WorkflowInstance viene convalidato. Se si verificano errori di convalida, viene generata la classe WorkflowValidationFailedException. Questa procedura si rivela adeguata per scenari semplici. Tuttavia, in un ambiente server, la riconvalida di un flusso di lavoro a ogni attivazione può comportare un sovraccarico non necessario.

Per altre informazioni sulla disabilitazione della convalida, vedere ValidateOnCreate.

Il flusso di lavoro instanceId per qualsiasi flusso di lavoro in esecuzione caricato da WorkflowRuntime deve essere univoco. Se si passa un instanceId per creare un flusso di lavoro e un flusso di lavoro in esecuzione sta già utilizzando quel instanceId, viene generata un'eccezione InvalidOperationException.

Per un esempio di passaggio di parametri a CreateWorkflow, vedere Flusso di lavoro con l'esempio di parametri.

Per un esempio di uso delle regole definite in XML, vedere IfElse with Rules Sample.

Si applica a

CreateWorkflow(Type, Dictionary<String,Object>, Guid)

Crea un'istanza di flusso di lavoro utilizzando i parametri specificati.

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues, Guid instanceId);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType, System.Collections.Generic.Dictionary<string,object> namedArgumentValues, Guid instanceId);
member this.CreateWorkflow : Type * System.Collections.Generic.Dictionary<string, obj> * Guid -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type, namedArgumentValues As Dictionary(Of String, Object), instanceId As Guid) As WorkflowInstance

Parametri

workflowType
Type

Oggetto Type del flusso di lavoro da creare.

namedArgumentValues
Dictionary<String,Object>

Dictionary<TKey,TValue> di oggetti con chiave impostata da una stringa che rappresenta gli argomenti per il flusso di lavoro.

instanceId
Guid

Guid della classe WorkflowInstance specifica da creare.

Restituisce

WorkflowInstance

Istanza del flusso di lavoro creata.

Eccezioni

workflowType è un riferimento null (Nothing in Visual Basic).

Commenti

Prima di essere creato, l'oggetto della classe WorkflowInstance viene convalidato. Se si verificano errori di convalida, viene generata la classe WorkflowValidationFailedException. Questa procedura si rivela adeguata per scenari semplici. Tuttavia, in un ambiente server, la riconvalida di un flusso di lavoro a ogni attivazione può comportare un sovraccarico non necessario.

Per altre informazioni sulla disabilitazione della convalida, vedere ValidateOnCreate.

Il flusso di lavoro instanceId per qualsiasi flusso di lavoro in esecuzione caricato da WorkflowRuntime deve essere univoco. Se si passa un instanceId per creare un flusso di lavoro e un flusso di lavoro in esecuzione sta già utilizzando quel instanceId, viene generata un'eccezione InvalidOperationException.

Per un esempio di passaggio di parametri a CreateWorkflow, vedere Flusso di lavoro con l'esempio di parametri.

Si applica a

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>)

Crea un'istanza del flusso di lavoro utilizzando gli oggetti XmlReader specificati e gli argomenti contenuti nell'oggetto Dictionary<TKey,TValue> specificato.

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader, System::Xml::XmlReader ^ rulesReader, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader, System.Xml.XmlReader rulesReader, System.Collections.Generic.Dictionary<string,object> namedArgumentValues);
member this.CreateWorkflow : System.Xml.XmlReader * System.Xml.XmlReader * System.Collections.Generic.Dictionary<string, obj> -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader, rulesReader As XmlReader, namedArgumentValues As Dictionary(Of String, Object)) As WorkflowInstance

Parametri

workflowDefinitionReader
XmlReader

Classe XmlReader contenente la definizione del flusso di lavoro.

rulesReader
XmlReader

Oggetto XmlReader.

namedArgumentValues
Dictionary<String,Object>

Dictionary<TKey,TValue> di oggetti con chiave impostata da una stringa che rappresenta gli argomenti per il flusso di lavoro.

Restituisce

WorkflowInstance

Istanza del flusso di lavoro creata.

Eccezioni

workflowDefinitionReader è un riferimento null (Nothing in Visual Basic).

Commenti

L'istanza del flusso di lavoro viene creata dal file di definizione del flusso di lavoro al quale fa riferimento la classe XmlReader e gli argomenti forniti da namedArgumentValues.

Prima di essere creato, l'oggetto della classe WorkflowInstance viene convalidato. Se si verificano errori di convalida, viene generata la classe WorkflowValidationFailedException. Questa procedura si rivela adeguata per scenari semplici. Tuttavia, in un ambiente server, la riconvalida di un flusso di lavoro a ogni attivazione può comportare un sovraccarico non necessario.

Per altre informazioni sulla disabilitazione della convalida, vedere ValidateOnCreate.

Per un esempio di passaggio di parametri a CreateWorkflow, vedere Flusso di lavoro con l'esempio di parametri.

Per un esempio di uso delle regole definite in XML, vedere IfElse with Rules Sample.

Si applica a

CreateWorkflow(XmlReader)

Crea un'istanza del flusso di lavoro tramite l'elemento XmlReader specificato.

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader);
member this.CreateWorkflow : System.Xml.XmlReader -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader) As WorkflowInstance

Parametri

workflowDefinitionReader
XmlReader

Classe XmlReader contenente la definizione del flusso di lavoro.

Restituisce

WorkflowInstance

Istanza del flusso di lavoro creata.

Eccezioni

workflowDefinitionReader è un riferimento null (Nothing in Visual Basic).

Esempio

Nell'esempio seguente viene illustrato come creare un flusso di lavoro in base a una definizione del flusso di lavoro XAML.

static void Main(string[] args)  
{  
    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())  
    {  
        AutoResetEvent waitHandle = new AutoResetEvent(false);  
        workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e)  
        {  
            waitHandle.Set();  
        };  
        workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)  
        {  
            Console.WriteLine(e.Exception.Message);  
            waitHandle.Set();  
        };  

        TypeProvider typeProvider = new TypeProvider(null);  
        // Add referenced assemblies, if needed  
        // typeProvider.AddAssembly(...);  
        workflowRuntime.AddService(typeProvider);  

        using (XmlReader reader = XmlReader.Create("Workflow1.xoml"))  
        {  
            WorkflowInstance instance = workflowRuntime.CreateWorkflow(reader);  
            instance.Start();  
        }  

        waitHandle.WaitOne();  
    }  
}  

Commenti

L'istanza del flusso di lavoro viene creata da un file di definizione del flusso di lavoro XAML al quale fa riferimento la classe XmlReader.

Prima di essere creato, l'oggetto della classe WorkflowInstance viene convalidato. Se si verificano errori di convalida, viene generata la classe WorkflowValidationFailedException. Questa procedura si rivela adeguata per scenari semplici. Tuttavia, in un ambiente server, la riconvalida di un flusso di lavoro a ogni attivazione può comportare un sovraccarico non necessario.

Per altre informazioni sulla disabilitazione della convalida, vedere ValidateOnCreate.

Si applica a

CreateWorkflow(Type)

Crea una nuova istanza del flusso di lavoro utilizzando l'oggetto Type del flusso di lavoro specificato.

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType);
member this.CreateWorkflow : Type -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type) As WorkflowInstance

Parametri

workflowType
Type

Oggetto Type del flusso di lavoro da creare.

Restituisce

WorkflowInstance

Istanza del flusso di lavoro creata.

Eccezioni

workflowType è un riferimento null (Nothing in Visual Basic).

Esempio

Nell'esempio di codice seguente viene illustrata la procedura consigliata per creare un oggetto WorkflowInstance in un host del flusso di lavoro utilizzando il metodo CreateWorkflow.

Questo esempio di codice fa parte dell'esempio Di 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

Prima di essere creato, l'oggetto della classe WorkflowInstance viene convalidato. Se si verificano errori di convalida, viene generata la classe WorkflowValidationFailedException. Questa procedura si rivela adeguata per scenari semplici. Tuttavia, in un ambiente server, la riconvalida di un flusso di lavoro a ogni attivazione può comportare un sovraccarico non necessario.

Per altre informazioni sulla disabilitazione della convalida, vedere ValidateOnCreate.

Si applica a

CreateWorkflow(Type, Dictionary<String,Object>)

Crea un'istanza del flusso di lavoro utilizzando il flusso di lavoro Type e gli elementi per il flusso di lavoro contenuto nell'oggetto Dictionary<TKey,TValue> specificato.

public:
 System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType, System.Collections.Generic.Dictionary<string,object> namedArgumentValues);
member this.CreateWorkflow : Type * System.Collections.Generic.Dictionary<string, obj> -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type, namedArgumentValues As Dictionary(Of String, Object)) As WorkflowInstance

Parametri

workflowType
Type

Oggetto Type del flusso di lavoro da creare.

namedArgumentValues
Dictionary<String,Object>

Dictionary<TKey,TValue> di oggetti con chiave impostata da una stringa che rappresenta gli argomenti per il flusso di lavoro.

Restituisce

WorkflowInstance

Istanza del flusso di lavoro creata.

Eccezioni

workflowType è un riferimento null (Nothing in Visual Basic).

Commenti

Prima di essere creato, l'oggetto della classe WorkflowInstance viene convalidato. Se si verificano errori di convalida, viene generata la classe WorkflowValidationFailedException. Questa procedura si rivela adeguata per scenari semplici. Tuttavia, in un ambiente server, la riconvalida di un flusso di lavoro a ogni attivazione può comportare un sovraccarico non necessario.

Per altre informazioni sulla disabilitazione della convalida, vedere ValidateOnCreate.

Per un esempio di passaggio di parametri a CreateWorkflow, vedere Flusso di lavoro con l'esempio di parametri.

Si applica a