次の方法で共有


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 ファイルに含まれている、ファイル監視アクティビティの 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 に関連付けられたキュー サービスを取得します。

メソッド

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 に使用可能な項目があると発生します。

適用対象

こちらもご覧ください