WorkflowRuntime Класс

Определение

Внимание!

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

Представляет настраиваемую среду выполнения, обеспечиваемую механизмом среды выполнения рабочих процессов.

public ref class WorkflowRuntime : IDisposable, IServiceProvider
public class WorkflowRuntime : IDisposable, IServiceProvider
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class WorkflowRuntime : IDisposable, IServiceProvider
type WorkflowRuntime = class
    interface IServiceProvider
    interface IDisposable
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowRuntime = class
    interface IServiceProvider
    interface IDisposable
Public Class WorkflowRuntime
Implements IDisposable, IServiceProvider
Наследование
WorkflowRuntime
Атрибуты
Реализации

Примеры

В следующем примере кода показано использование функций класса WorkflowRuntime с узла рабочего процесса. Он содержит примеры использования конструктора WorkflowRuntime и методов AddService, StartRuntime и StopRuntime. Код также демонстрирует метод, рекомендуемый для создания объекта WorkflowInstance в узле рабочего процесса с помощью метода CreateWorkflow. В нем также показано задание обработчиков для событий WorkflowCompleted, WorkflowIdled и WorkflowTerminated.

Этот пример кода является частью примера отмены рабочего процесса .

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

Комментарии

Примечание

В этом материале обсуждаются устаревшие типы и пространства имен. Дополнительные сведения см. в статье о нерекомендуемых типах в Windows Workflow Foundation 4.5.

Класс WorkflowRuntime предоставляет функции, которые требуются ведущему приложению и службам для настройки и управления механизмом среды выполнения рабочих процессов и для получения уведомлений об изменениях механизма среды выполнения рабочих процессов и всех экземпляров его рабочих процессов.

Конструкторы

WorkflowRuntime()

Инициализирует новый экземпляр класса WorkflowRuntime.

WorkflowRuntime(String)

Инициализирует новый экземпляр класса WorkflowRuntime, используя указанный раздел файла конфигурации приложения.

WorkflowRuntime(WorkflowRuntimeSection)

Инициализирует новый экземпляр класса WorkflowRuntime, используя настройки в указанном разделе WorkflowRuntimeSection.

Свойства

IsStarted

Возвращает значение, показывающее, был ли запущен механизм среды выполнения рабочих процессов.

Name

Возвращает или задает имя, связанное с объектом WorkflowRuntime.

Методы

AddService(Object)

Добавляет указанную службу к механизму среды выполнения рабочих процессов.

CreateWorkflow(Type)

Создает новый экземпляр рабочего процесса, используя заданный тип рабочего процесса Type.

CreateWorkflow(Type, Dictionary<String,Object>)

Создает экземпляр рабочего процесса, используя указанный тип рабочего процесса Type и аргументы рабочего процесса, содержащиеся в указанной коллекции Dictionary<TKey,TValue>.

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

Создает экземпляр рабочего процесса, используя указанные параметры.

CreateWorkflow(XmlReader)

Создает экземпляр рабочего процесса, используя заданный объект XmlReader.

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

Создает экземпляр рабочего процесса, используя указанные объекты XmlReader и аргументы, содержащиеся в указанной коллекции Dictionary<TKey,TValue>.

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

Создает экземпляр рабочего процесса, используя указанные параметры.

Dispose()

Освобождает ресурсы, используемые объектом WorkflowRuntime.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetAllServices(Type)

Извлекает все службы, добавленные к механизму среды выполнения рабочих процессов, которые реализуют или являются производными от указанного типа Type.

GetAllServices<T>()

Извлекает все службы, добавленные к механизму среды выполнения рабочих процессов, которые реализуют или являются производными от указанного универсального типа.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLoadedWorkflows()

Возвращает коллекцию, содержащую экземпляры рабочего процесса, загруженные в память.

GetService(Type)

Извлекает из механизма среды выполнения рабочих процессов службу указанного типа Type.

GetService<T>()

Извлекает из механизма среды выполнения рабочих процессов службу указанного универсального типа.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetWorkflow(Guid)

Извлекает экземпляр рабочего процесса, который имеет указанный тип Guid.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RemoveService(Object)

Удаляет указанную службу из механизма среды выполнения рабочих процессов.

StartRuntime()

Запускает механизм среды выполнения рабочих процессов и его службы.

StopRuntime()

Останавливает механизм среды выполнения рабочих процессов и ее службы.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

ServicesExceptionNotHandled

Происходит, когда служба, производная от класса WorkflowRuntimeService, вызывает метод RaiseServicesExceptionNotHandledEvent(Exception, Guid).

Started

Возникает при запуске механизма среды выполнения рабочих процессов.

Stopped

Возникает при остановке механизма среды выполнения рабочих процессов.

WorkflowAborted

Происходит при прерывании выполнения экземпляра рабочего процесса.

WorkflowCompleted

Происходит при успешном завершении выполнения экземпляра рабочего процесса.

WorkflowCreated

Происходит при создании экземпляра рабочего процесса.

WorkflowIdled

Происходит при переходе экземпляра рабочего процесса в состояние бездействия.

WorkflowLoaded

Происходит при загрузке экземпляра рабочего процесса в память.

WorkflowPersisted

Происходит при сохранении состояния экземпляра рабочего процесса.

WorkflowResumed

Происходит, когда выполнение экземпляра рабочего процесса возобновляется после приостановки.

WorkflowStarted

Происходит при запуске экземпляра рабочего процесса.

WorkflowSuspended

Происходит при приостановке выполнения экземпляра рабочего процесса.

WorkflowTerminated

Происходит при завершении выполнения экземпляра рабочего процесса.

WorkflowUnloaded

Происходит при выгрузке экземпляра рабочего процесса из памяти.

Применяется к

Потокобезопасность

Данный тип потокобезопасен.