다음을 통해 공유


WorkflowQueue 클래스

정의

주의

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

워크플로 큐를 나타냅니다.

public ref class WorkflowQueue
public class WorkflowQueue
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class WorkflowQueue
type WorkflowQueue = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowQueue = class
Public Class WorkflowQueue
상속
WorkflowQueue
특성

예제

다음 코드 예제에서는 WorkflowQueue 메서드를 호출하여 WorkflowQueuingService.GetWorkflowQueue를 만드는 방법을 보여 줍니다. 또한 Count 속성을 사용하여 현재 큐에 메시지가 있는지 확인합니다. 마지막으로 이 코드에서는 Dequeue 메서드를 사용하여 큐의 첫 번째 개체를 제거하고 반환합니다.

이 코드 예제는 FileSystemEvent.cs 파일에 있는 File Watcher Activity SDK 샘플의 일부입니다. 자세한 내용은 파일 시스템 감시자 작업합니다.

private bool ProcessQueueItem(ActivityExecutionContext context)
{
    WorkflowQueuingService qService = context.GetService<WorkflowQueuingService>();
    if (!qService.Exists(this.QueueName))
    {
        return false;
    }

    WorkflowQueue queue = qService.GetWorkflowQueue(this.QueueName);

    // If the queue has messages, then process the first one
    if (queue.Count == 0)
    {
        return false;
    }

    FileWatcherEventArgs e = (FileWatcherEventArgs)queue.Dequeue();

    // Raise the FileSystemEvent
    base.RaiseGenericEvent<FileWatcherEventArgs>(FileSystemEvent.FileWatcherEventHandlerEvent, this, e);

    DoUnsubscribe(context, this);
    DeleteQueue(context);
    return true;
}
Private Function ProcessQueueItem(ByVal context As ActivityExecutionContext) As Boolean

    Dim qService As WorkflowQueuingService = context.GetService(Of WorkflowQueuingService)()

    If Not qService.Exists(Me.QueueName) Then
        Return False
    End If

    Dim Queue As WorkflowQueue = qService.GetWorkflowQueue(Me.QueueName)

    ' If the queue has messages, then process the first one
    If Queue.Count = 0 Then
        Return False
    End If

    Dim e As FileWatcherEventArgs = CType(Queue.Dequeue(), FileWatcherEventArgs)

    ' Raise the FileSystemEvent
    MyBase.RaiseGenericEvent(Of FileWatcherEventArgs)(FileSystemEvent.FileWatcherEventHandlerEvent, Me, e)
    DoUnsubscribe(context, Me)
    DeleteQueue(context)
    Return True
End Function

설명

참고

이 자료에서는 더 이상 사용되지 않는 형식과 네임스페이스에 대해 설명합니다. 자세한 내용은 Deprecated Types in Windows Workflow Foundation 4.5(Windows Workflow Foundation 4.5에서 사용되지 않는 형식)를 참조하세요.

워크플로 큐는 워크플로의 활동과 호스트 또는 호스트 서비스 간에 메시지를 전달하는 데 사용됩니다. 모든 활동이 WorkflowQueue를 호출하여 WorkflowQueuingService.CreateWorkflowQueue를 만들 수 있으며 호스트, 서비스 또는 다른 활동이 Enqueue를 호출하여 항목을 해당 WorkflowQueue에 추가할 수 있습니다. QueueItemAvailable 이벤트를 구독하여 항목이 WorkflowQueue에 도착할 때 알림을 받을 수 있습니다. Peek를 사용하여 WorkflowQueue의 시작 부분에 있는 항목을 검사하고 Dequeue를 사용하여 WorkflowQueue에서 항목을 제거할 수 있습니다. 각 WorkflowQueue에는 WorkflowQueuingService에서 큐 삭제와 같은 기타 관리 작업을 수행하는 데 사용할 수 있는 WorkflowQueue가 연결되어 있습니다. QueuingService는 이 WorkflowQueuingService와 연결된 WorkflowQueue를 노출합니다.

속성

Count
사용되지 않음.

WorkflowQueue에 들어 있는 항목 수를 가져옵니다.

Enabled
사용되지 않음.

WorkflowQueue를 사용할 수 있는지 여부를 지정하는 값을 가져오거나 설정합니다.

QueueName
사용되지 않음.

워크플로 큐의 이름을 가져옵니다.

QueuingService
사용되지 않음.

WorkflowQueue와 연결된 큐 서비스를 가져옵니다.

메서드

Dequeue()
사용되지 않음.

WorkflowQueue의 시작 부분에서 개체를 제거하고 반환합니다.

Enqueue(Object)
사용되지 않음.

개체를 WorkflowQueue의 끝 부분에 추가합니다.

Equals(Object)
사용되지 않음.

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()
사용되지 않음.

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()
사용되지 않음.

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()
사용되지 않음.

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Peek()
사용되지 않음.

WorkflowQueue의 시작 부분에서 개체를 제거하지 않고 반환합니다.

RegisterForQueueItemArrived(IActivityEventListener<QueueEventArgs>)
사용되지 않음.

QueueItemArrived 이벤트에 대한 구독자를 등록합니다.

RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>, String)
사용되지 않음.

QueueItemAvailable 이벤트에 대한 구독자를 등록합니다.

RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>)
사용되지 않음.

QueueItemAvailable 이벤트에 대한 구독자를 등록합니다.

ToString()
사용되지 않음.

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
UnregisterForQueueItemArrived(IActivityEventListener<QueueEventArgs>)
사용되지 않음.

QueueItemArrived 이벤트에 대한 구독자를 등록 취소합니다.

UnregisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>)
사용되지 않음.

QueueItemAvailable 이벤트에 대한 구독자를 등록 취소합니다.

이벤트

QueueItemArrived
사용되지 않음.

WorkflowQueue에서 항목이 전달될 때 발생합니다.

QueueItemAvailable
사용되지 않음.

WorkflowQueue에서 항목을 사용할 수 있을 때 발생합니다.

적용 대상

추가 정보