WorkflowQueue.Count Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan jumlah item yang terkandung dalam WorkflowQueue.
public:
property int Count { int get(); };
public int Count { get; }
member this.Count : int
Public ReadOnly Property Count As Integer
Nilai Properti
Jumlah item dalam antrean alur kerja.
Contoh
Contoh kode berikut menunjukkan bagaimana Anda dapat membuat WorkflowQueue dengan memanggil WorkflowQueuingService.GetWorkflowQueue metode . Ini juga menggunakan Count properti untuk menentukan apakah ada pesan dalam antrean saat ini. Terakhir, kode menggunakan Dequeue metode untuk menghapus dan mengembalikan objek pertama dalam antrean.
Contoh kode ini adalah bagian dari Sampel SDK Aktivitas Pengamat File dari file FileSystemEvent.cs. Untuk informasi selengkapnya, lihat Aktivitas Pengamat Sistem File.
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