WorkflowRuntime.WorkflowIdled 이벤트

정의

워크플로 인스턴스가 유휴 상태에 들어갈 때 발생합니다.Occurs when a workflow instance enters the idle state.

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 Event WorkflowIdled As EventHandler(Of WorkflowEventArgs) 

예제

다음 코드 예제에서는 워크플로 호스트에서 WorkflowRuntime 기능을 사용하는 방법을 보여 줍니다.The following code example demonstrates how to use WorkflowRuntime functionality from a workflow host. 이 코드에서는 WorkflowIdled를 이벤트 처리기인 OnWorkflowIdled 메서드에 연결합니다.The code associates the WorkflowIdled with an event handler, a method named OnWorkflowIdled.

일부인이 코드 예제는 워크플로 취소 하면 샘플입니다.This code example is part of the Canceling a Workflow sample.

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 이벤트를 발생시킵니다.The workflow run-time engine raises the WorkflowIdled event when the workflow instance enters an idle state; for example, when the workflow is waiting for a DelayActivity activity to complete.

이 이벤트의 경우 발신자는 WorkflowRuntime을 포함하고 WorkflowEventArgs는 이벤트와 연결된 WorkflowInstance를 포함합니다.For this event, the sender contains the WorkflowRuntime and WorkflowEventArgs contains the WorkflowInstance associated with the event.

이벤트를 처리 하는 방법에 대 한 자세한 내용은 이벤트 처리 및 발생을 참조 하세요.For more information about handling events, see Handling and raising events.

적용 대상