Partager via


WorkflowRuntime.CreateWorkflow Méthode

Définition

Crée une instance de workflow en utilisant les paramètres spécifiés.

Surcharges

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

Crée une instance de workflow en utilisant les paramètres spécifiés.

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

Crée une instance de workflow en utilisant les paramètres spécifiés.

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

Crée une instance de workflow en utilisant les objets XmlReader spécifiés et les arguments contenus dans le Dictionary<TKey,TValue> spécifié.

CreateWorkflow(XmlReader)

Crée une instance de workflow en utilisant le XmlReader spécifié.

CreateWorkflow(Type)

Crée une nouvelle instance de workflow en utilisant le workflow Type spécifié.

CreateWorkflow(Type, Dictionary<String,Object>)

Crée une instance de workflow en utilisant le Type de workflow spécifié et les arguments au workflow contenus dans le Dictionary<TKey,TValue> spécifié.

Remarques

Si le moteur d'exécution de workflow n'a pas été démarré, les méthodes CreateWorkflow appellent la méthode StartRuntime. Pour obtenir la liste des exceptions possibles, consultez StartRuntime. Après avoir créé l'instance de workflow, appelez WorkflowInstance.Start à l'objet WorkflowInstance retourné par la méthode CreateWorkflow pour commencer son exécution.

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

Crée une instance de workflow en utilisant les paramètres spécifiés.

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

Paramètres

workflowDefinitionReader
XmlReader

Une classe XmlReader qui contient la définition du workflow.

rulesReader
XmlReader

Élément XmlReader.

namedArgumentValues
Dictionary<String,Object>

Objet Dictionary<TKey,TValue> d'objets indexé par une chaîne qui représente les arguments passés au workflow.

instanceId
Guid

Guid de la WorkflowInstance spécifique à créer.

Retours

WorkflowInstance

Instance de workflow créée.

Exceptions

workflowType est une référence Null (Nothing en Visual Basic).

Remarques

Avant que la WorkflowInstance soit créée, elle fait l'objet d'une validation. En cas d'erreurs de validation, la WorkflowValidationFailedException est levée. Cela fonctionne bien pour les scénarios simples, mais dans un environnement de serveur, la revalidation d'un workflow pour chaque activation peut s'avérer être un traitement inutile.

Pour plus d’informations sur la désactivation de la validation, consultez ValidateOnCreate.

L'instanceId de workflow pour tous les workflows en cours chargés par le WorkflowRuntime doit être unique. Si vous passez un instanceId pour créer un workflow et qu'un workflow en cours d'exécution utilise déjà cet instanceId, une exception InvalidOperationException est levée.

Pour obtenir un exemple de passage de paramètres à CreateWorkflow, consultez Workflow with Parameters Sample.

Pour obtenir un exemple d’utilisation de règles définies dans XML, consultez IfElse avec l’exemple de règles.

S’applique à

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

Crée une instance de workflow en utilisant les paramètres spécifiés.

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

Paramètres

workflowType
Type

Type de workflow à créer.

namedArgumentValues
Dictionary<String,Object>

Objet Dictionary<TKey,TValue> d'objets indexé par une chaîne qui représente les arguments passés au workflow.

instanceId
Guid

Guid de la WorkflowInstance spécifique à créer.

Retours

WorkflowInstance

Instance de workflow créée.

Exceptions

workflowType est une référence Null (Nothing en Visual Basic).

Remarques

Avant que la WorkflowInstance soit créée, elle fait l'objet d'une validation. En cas d'erreurs de validation, la WorkflowValidationFailedException est levée. Cela fonctionne bien pour les scénarios simples, mais dans un environnement de serveur, la revalidation d'un workflow pour chaque activation peut s'avérer être un traitement inutile.

Pour plus d’informations sur la désactivation de la validation, consultez ValidateOnCreate.

L'instanceId de workflow pour tous les workflows en cours chargés par le WorkflowRuntime doit être unique. Si vous passez un instanceId pour créer un workflow et qu'un workflow en cours d'exécution utilise déjà cet instanceId, une exception InvalidOperationException est levée.

Pour obtenir un exemple de passage de paramètres à CreateWorkflow, consultez Workflow with Parameters Sample.

S’applique à

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

Crée une instance de workflow en utilisant les objets XmlReader spécifiés et les arguments contenus dans le Dictionary<TKey,TValue> spécifié.

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

Paramètres

workflowDefinitionReader
XmlReader

Une classe XmlReader qui contient la définition du workflow.

rulesReader
XmlReader

Élément XmlReader.

namedArgumentValues
Dictionary<String,Object>

Objet Dictionary<TKey,TValue> d'objets indexé par une chaîne qui représente les arguments passés au workflow.

Retours

WorkflowInstance

Instance de workflow créée.

Exceptions

workflowDefinitionReader est une référence Null (Nothing en Visual Basic).

Remarques

L’instance de workflow est créée à partir de la définition de workflow référencée par le XmlReader et les arguments fournis par namedArgumentValues.

Avant que la WorkflowInstance soit créée, elle fait l'objet d'une validation. En cas d'erreurs de validation, la WorkflowValidationFailedException est levée. Cela fonctionne bien pour les scénarios simples, mais dans un environnement de serveur, la revalidation d'un workflow pour chaque activation peut s'avérer être un traitement inutile.

Pour plus d’informations sur la désactivation de la validation, consultez ValidateOnCreate.

Pour obtenir un exemple de passage de paramètres à CreateWorkflow, consultez Workflow with Parameters Sample.

Pour obtenir un exemple d’utilisation de règles définies dans XML, consultez IfElse avec l’exemple de règles.

S’applique à

CreateWorkflow(XmlReader)

Crée une instance de workflow en utilisant le XmlReader spécifié.

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

Paramètres

workflowDefinitionReader
XmlReader

Une classe XmlReader qui contient la définition du workflow.

Retours

WorkflowInstance

Instance de workflow créée.

Exceptions

workflowDefinitionReader est une référence Null (Nothing en Visual Basic).

Exemples

L'exemple suivant montre comment créer un workflow avec une définition de workflow basée sur 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();  
    }  
}  

Remarques

L'instance de workflow est créée à partir d'un fichier de définition du workflow XAML référencé par le XmlReader.

Avant que la WorkflowInstance soit créée, elle fait l'objet d'une validation. En cas d'erreurs de validation, la WorkflowValidationFailedException est levée. Cela fonctionne bien pour les scénarios simples, mais dans un environnement de serveur, la revalidation d'un workflow pour chaque activation peut s'avérer être un traitement inutile.

Pour plus d’informations sur la désactivation de la validation, consultez ValidateOnCreate.

S’applique à

CreateWorkflow(Type)

Crée une nouvelle instance de workflow en utilisant le workflow Type spécifié.

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

Paramètres

workflowType
Type

Type de workflow à créer.

Retours

WorkflowInstance

Instance de workflow créée.

Exceptions

workflowType est une référence Null (Nothing en Visual Basic).

Exemples

L'exemple de code suivant montre la méthode recommandée pour créer un objet WorkflowInstance dans un hôte de workflow à l'aide de la méthode CreateWorkflow.

Cet exemple de code fait partie de l’exemple d’annulation d’un flux de travail .

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

Remarques

Avant que la WorkflowInstance soit créée, elle fait l'objet d'une validation. En cas d'erreurs de validation, la WorkflowValidationFailedException est levée. Cela fonctionne bien pour les scénarios simples, mais dans un environnement de serveur, la revalidation d'un workflow pour chaque activation peut s'avérer être un traitement inutile.

Pour plus d’informations sur la désactivation de la validation, consultez ValidateOnCreate.

S’applique à

CreateWorkflow(Type, Dictionary<String,Object>)

Crée une instance de workflow en utilisant le Type de workflow spécifié et les arguments au workflow contenus dans le Dictionary<TKey,TValue> spécifié.

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

Paramètres

workflowType
Type

Type de workflow à créer.

namedArgumentValues
Dictionary<String,Object>

Objet Dictionary<TKey,TValue> d'objets indexé par une chaîne qui représente les arguments passés au workflow.

Retours

WorkflowInstance

Instance de workflow créée.

Exceptions

workflowType est une référence Null (Nothing en Visual Basic).

Remarques

Avant que la WorkflowInstance soit créée, elle fait l'objet d'une validation. En cas d'erreurs de validation, la WorkflowValidationFailedException est levée. Cela fonctionne bien pour les scénarios simples, mais dans un environnement de serveur, la revalidation d'un workflow pour chaque activation peut s'avérer être un traitement inutile.

Pour plus d’informations sur la désactivation de la validation, consultez ValidateOnCreate.

Pour obtenir un exemple de passage de paramètres à CreateWorkflow, consultez Workflow with Parameters Sample.

S’applique à