WorkflowQueue 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주의
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와 연결된 큐 서비스를 가져옵니다. |
메서드
이벤트
QueueItemArrived |
사용되지 않음.
이 WorkflowQueue에서 항목이 전달될 때 발생합니다. |
QueueItemAvailable |
사용되지 않음.
이 WorkflowQueue에서 항목을 사용할 수 있을 때 발생합니다. |
적용 대상
추가 정보
.NET