Freigeben über


WorkflowRuntime Konstruktoren

Definition

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse.

Überlädt

WorkflowRuntime()

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse.

WorkflowRuntime(String)

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse, indem der angegebene Abschnitt der Anwendungskonfigurationsdatei verwendet wird.

WorkflowRuntime(WorkflowRuntimeSection)

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse mithilfe der Einstellungen im angegebenen WorkflowRuntimeSection.

WorkflowRuntime()

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse.

public:
 WorkflowRuntime();
public WorkflowRuntime ();
Public Sub New ()

Beispiele

Das folgende Codebeispiel zeigt, wie Sie die WorkflowRuntime-Funktionalität eines Workflowhosts verwenden können. Es enthält ein Beispiel dafür, wie Sie den WorkflowRuntime-Konstruktor verwenden, um eine WorkflowRuntime-Instanz zu erstellen und auf die dazugehörigen Methoden und Ereignisse zuzugreifen.

Dieses Codebeispiel ist Teil des Beispiels Zum Abbrechen eines Workflows .

static void Main()
{
    string connectionString = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;";

    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
    {
        ExternalDataExchangeService dataService = new ExternalDataExchangeService();
        workflowRuntime.AddService(dataService);
        dataService.AddService(expenseService);

        workflowRuntime.AddService(new SqlWorkflowPersistenceService(connectionString));
        workflowRuntime.StartRuntime();

        workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
        workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
        workflowRuntime.WorkflowIdled += OnWorkflowIdled;
        workflowRuntime.WorkflowAborted += OnWorkflowAborted;

        Type type = typeof(SampleWorkflow1);
        WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
        workflowInstance.Start();

        waitHandle.WaitOne();

        workflowRuntime.StopRuntime();
    }
}
Shared Sub Main()
    Dim connectionString As String = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;"
    Using workflowRuntime As New WorkflowRuntime()
        Dim dataService As New ExternalDataExchangeService()
        workflowRuntime.AddService(dataService)
        dataService.AddService(expenseService)

        workflowRuntime.AddService(New SqlWorkflowPersistenceService(connectionString))


        AddHandler workflowRuntime.WorkflowCompleted, AddressOf OnWorkflowCompleted
        AddHandler workflowRuntime.WorkflowTerminated, AddressOf OnWorkflowTerminated
        AddHandler workflowRuntime.WorkflowIdled, AddressOf OnWorkflowIdled
        AddHandler workflowRuntime.WorkflowAborted, AddressOf OnWorkflowAborted


        Dim workflowInstance As WorkflowInstance
        workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
        workflowInstance.Start()

        waitHandle.WaitOne()

        workflowRuntime.StopRuntime()
    End Using
End Sub

Hinweise

WorkflowRuntime wird mit den Standardeigenschaftswerten initialisiert und enthält die Standardbasisdienste. Um zusätzlich die Workflowruntime-Engine zu konfigurieren, können Sie Dienste hinzufügen bzw. entfernen, indem Sie AddService und RemoveService verwenden, und Sie können Name festlegen. Nachdem WorkflowRuntime konfiguriert wurde, rufen Sie StartRuntime auf, um die Workflowruntime-Engine und ihre Dienste zu starten.

In der folgenden Tabelle werden die anfänglichen Eigenschaftswerte für eine Instanz der WorkflowRuntime-Klasse angezeigt.

Eigenschaft Anfangswert
Name WorkflowRuntime
IsStarted false

Die Standardbasisdienste lauten DefaultWorkflowCommitWorkBatchService und DefaultWorkflowSchedulerService.

Gilt für:

WorkflowRuntime(String)

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse, indem der angegebene Abschnitt der Anwendungskonfigurationsdatei verwendet wird.

public:
 WorkflowRuntime(System::String ^ configSectionName);
public WorkflowRuntime (string configSectionName);
new System.Workflow.Runtime.WorkflowRuntime : string -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (configSectionName As String)

Parameter

configSectionName
String

Der Name eines gültigen workflowSettings-Abschnitts in der Anwendungskonfigurationsdatei.

Ausnahmen

configSectionName ist ein NULL-Verweis (Nothing in Visual Basic).

In der Anwendungskonfigurationsdatei konnte kein gültiger workflowSettings-Abschnitt gefunden werden.

Für diese Anwendungsdomäne ist bereits ein WorkflowRuntime-Element vorhanden.

Hinweise

WorkflowRuntime wird basierend auf den Einstellungen in dem Abschnitt initialisiert, der in der Anwendungskonfigurationsdatei mithilfe von configSectionName angegeben ist. configSectionName muss einem gültigen workflowSettings Abschnitt einer Konfigurationsdatei entsprechen.

Wenn die Workflowlaufzeit-Engine mithilfe einer Anwendungskonfigurationsdatei konfiguriert wird, werden Klassen der im Abschnitt der Services Konfigurationsdatei aufgeführten Typen geladen und instanziiert. Wenn die Workflowruntime-Engine diese Klassen erstellt, sucht sie nach Klassenkonstruktoren mit den folgenden Signaturen in der folgenden Reihenfolge:

  1. Dienst(WorkflowRuntime-Laufzeit, NameValueCollection-Parameter)

  2. Dienst(WorkflowRuntime-Laufzeit)

  3. Dienst(NameValueCollection-Parameter)

  4. Dienst()

Alle Dienstklassen, die aus einer Konfigurationsdatei geladen werden, müssen mindestens eine dieser Konstruktorsignaturen implementieren.

Weitere Informationen finden Sie unter WorkflowRuntimeSection.

Gilt für:

WorkflowRuntime(WorkflowRuntimeSection)

Initialisiert eine neue Instanz der WorkflowRuntime-Klasse mithilfe der Einstellungen im angegebenen WorkflowRuntimeSection.

public:
 WorkflowRuntime(System::Workflow::Runtime::Configuration::WorkflowRuntimeSection ^ settings);
public WorkflowRuntime (System.Workflow.Runtime.Configuration.WorkflowRuntimeSection settings);
new System.Workflow.Runtime.WorkflowRuntime : System.Workflow.Runtime.Configuration.WorkflowRuntimeSection -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (settings As WorkflowRuntimeSection)

Parameter

Ausnahmen

settings ist ein NULL-Verweis (Nothing in Visual Basic).

Für diese Anwendungsdomäne ist bereits ein WorkflowRuntime-Element vorhanden.

Hinweise

Dieser Konstruktor stellt einen Mechanismus zum Konfigurieren der Workflowruntime-Engine bereit. Dabei wird ein einzelner Methodenaufruf für Hosts verwendet, die keine Anwendungskonfigurationsdatei verwenden. Es kann viele Gründe dafür geben, die Anwendungskonfigurationsdatei nicht zu verwenden. Ein Host kann beispielsweise in einer Umgebung ausgeführt werden, in der die Verwendung von Konfigurationsdateien nicht zulässig ist. Dies kann in vertrauenswürdigen Umgebungen der Fall sein, die aus Sicherheitsgründen das Lesen aus der Anwendungskonfigurationsdatei nicht zulassen. Zudem kann ein Host ein eigenes Konfigurationsverfahren verwenden. Hosts können die Konfigurationseinstellungen der Workflowruntime-Engine beispielsweise in einer SQL-Datenbank speichern.

Die Workflowruntime-Engine lädt und instanziiert Klassen der Typen, die in WorkflowRuntimeSection.Services enthalten sind. Wenn die Workflowruntime-Engine diese Klassen erstellt, sucht sie nach Klassenkonstruktoren mit den folgenden Signaturen in der folgenden Reihenfolge:

  1. Dienst(WorkflowRuntime-Laufzeit, NameValueCollection-Parameter)

  2. Dienst(WorkflowRuntime-Laufzeit)

  3. Dienst(NameValueCollection-Parameter)

  4. Dienst()

Alle Dienstklassen, die unter settings angegeben werden, müssen mindestens eine dieser Konstruktorsignaturen implementieren.

Gilt für: