Поделиться через


WorkflowRuntime.WorkflowIdled Событие

Определение

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

public:
 event EventHandler<System::Workflow::Runtime::WorkflowEventArgs ^> ^ WorkflowIdled;
public event EventHandler<System.Workflow.Runtime.WorkflowEventArgs> WorkflowIdled;
member this.WorkflowIdled : EventHandler<System.Workflow.Runtime.WorkflowEventArgs> 
Public Custom Event WorkflowIdled As EventHandler(Of WorkflowEventArgs) 
Public Event WorkflowIdled As EventHandler(Of WorkflowEventArgs) 

Тип события

Примеры

В следующем примере кода показано использование функций класса WorkflowRuntime с узла рабочего процесса. Этот код связывает событие WorkflowIdled с обработчиком событий — методом с именем OnWorkflowIdled.

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

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

Комментарии

Механизм среды выполнения рабочих процессов создает событие WorkflowIdled, когда экземпляр рабочего процесса переходит в состояние бездействия; например, когда рабочий процесс ожидает завершения действия DelayActivity.

Отправитель этого события содержит объект WorkflowRuntime, а объект WorkflowEventArgs содержит экземпляр WorkflowInstance, связанный с данным событием.

Дополнительные сведения об обработке событий см. в разделе Обработка и создание событий.

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