WorkflowRuntime Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy WorkflowRuntime.

Przeciążenia

WorkflowRuntime()

Inicjuje nowe wystąpienie klasy WorkflowRuntime.

WorkflowRuntime(String)

Inicjuje WorkflowRuntime nowe wystąpienie klasy przy użyciu określonej sekcji pliku konfiguracji aplikacji.

WorkflowRuntime(WorkflowRuntimeSection)

Inicjuje WorkflowRuntime nowe wystąpienie klasy przy użyciu ustawień w określonym WorkflowRuntimeSectionobiekcie .

WorkflowRuntime()

Inicjuje nowe wystąpienie klasy WorkflowRuntime.

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

Przykłady

W poniższym przykładzie kodu pokazano, jak można używać WorkflowRuntime funkcji z hosta przepływu pracy. Zawiera przykład użycia konstruktora WorkflowRuntime do tworzenia wystąpienia obiektu WorkflowRuntime i uzyskiwania dostępu do jego metod i zdarzeń.

Ten przykładowy kod jest częścią przykładu Anulowanie przepływu pracy .

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

Uwagi

Element WorkflowRuntime jest inicjowany przy użyciu domyślnych wartości właściwości i zawiera domyślne usługi podstawowe. Aby dodatkowo skonfigurować aparat czasu wykonywania przepływu pracy, można dodawać i usuwać usługi przy użyciu elementów AddService i RemoveService, a można ustawić .Name Po skonfigurowaniu WorkflowRuntime polecenia wywołaj polecenie StartRuntime , aby uruchomić aparat uruchomieniowy przepływu pracy i jego usługi.

W poniższej tabeli przedstawiono początkowe wartości właściwości dla wystąpienia WorkflowRuntime klasy.

Właściwość Wartość początkowa
Name "WorkflowRuntime"
IsStarted false

Domyślne podstawowe usługi to DefaultWorkflowCommitWorkBatchService i DefaultWorkflowSchedulerService.

Dotyczy

WorkflowRuntime(String)

Inicjuje WorkflowRuntime nowe wystąpienie klasy przy użyciu określonej sekcji pliku konfiguracji aplikacji.

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)

Parametry

configSectionName
String

Nazwa prawidłowej workflowSettings sekcji w pliku konfiguracji aplikacji.

Wyjątki

configSectionName jest odwołaniem o wartości null (Nothing w Visual Basic).

Nie można odnaleźć prawidłowej workflowSettings sekcji w pliku konfiguracji aplikacji.

Istnieje WorkflowRuntime już dla tej domeny aplikacji.

Uwagi

Parametr WorkflowRuntime jest inicjowany zgodnie z ustawieniami w sekcji określonej przez configSectionName w pliku konfiguracji aplikacji. configSectionName musi odpowiadać prawidłowej workflowSettings sekcji pliku konfiguracji.

Gdy aparat czasu wykonywania przepływu pracy jest konfigurowany przy użyciu pliku konfiguracji aplikacji, ładuje i tworzy wystąpienia klas typów wymienionych w Services sekcji pliku konfiguracji. Gdy aparat czasu wykonywania przepływu pracy tworzy te klasy, szuka konstruktorów klas z następującymi podpisami w następującej kolejności:

  1. Service(WorkflowRuntime runtime, NameValueCollection parameters)

  2. Service(WorkflowRuntime runtime)

  3. Service(Parametry NameValueCollection)

  4. Service()

Wszystkie klasy usług ładowane z pliku konfiguracji muszą implementować co najmniej jeden z tych podpisów konstruktora.

Aby uzyskać więcej informacji, zobacz WorkflowRuntimeSection.

Dotyczy

WorkflowRuntime(WorkflowRuntimeSection)

Inicjuje WorkflowRuntime nowe wystąpienie klasy przy użyciu ustawień w określonym WorkflowRuntimeSectionobiekcie .

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)

Parametry

Wyjątki

settings jest odwołaniem o wartości null (Nothing w Visual Basic).

Istnieje WorkflowRuntime już dla tej domeny aplikacji.

Uwagi

Ten konstruktor udostępnia mechanizm konfigurowania aparatu czasu wykonywania przepływu pracy przy użyciu pojedynczego wywołania metody dla hostów, które nie używają pliku konfiguracji aplikacji. Istnieje wiele powodów, dla których nie jest używany plik konfiguracji aplikacji. Host może działać w środowisku, które nie zezwala na używanie plików konfiguracji; na przykład w zaufanych środowiskach, które nie zezwalają na odczytywanie z pliku konfiguracji aplikacji ze względów bezpieczeństwa. Ponadto host może korzystać z zastrzeżonego mechanizmu konfiguracji; na przykład host może przechowywać ustawienia konfiguracji aparatu uruchomieniowego przepływu pracy w bazie danych SQL.

Aparat czasu wykonywania przepływu pracy ładuje i tworzy wystąpienia klas typów zawartych w pliku WorkflowRuntimeSection.Services. Gdy aparat czasu wykonywania przepływu pracy tworzy te klasy, szuka konstruktorów klas z następującymi podpisami w następującej kolejności:

  1. Service(WorkflowRuntime runtime, NameValueCollection parameters)

  2. Service(WorkflowRuntime runtime)

  3. Service(Parametry NameValueCollection)

  4. Service()

Wszystkie klasy usług określone w settings programie muszą implementować co najmniej jeden z tych podpisów konstruktora.

Dotyczy