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 ファイルに含まれている、ファイル監視アクティビティの 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
注釈
注意
ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。
ワークフロー キューは、ホストまたはホスト サービスとワークフロー内のアクティビティの間でメッセージを渡すために使用されます。 アクティビティは 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