Поделиться через


WorkflowQueue.UnregisterForQueueItemAvailable Метод

Определение

Отменяет регистрацию подписчика на событие QueueItemAvailable.

public:
 void UnregisterForQueueItemAvailable(System::Workflow::ComponentModel::IActivityEventListener<System::Workflow::ComponentModel::QueueEventArgs ^> ^ eventListener);
public void UnregisterForQueueItemAvailable (System.Workflow.ComponentModel.IActivityEventListener<System.Workflow.ComponentModel.QueueEventArgs> eventListener);
member this.UnregisterForQueueItemAvailable : System.Workflow.ComponentModel.IActivityEventListener<System.Workflow.ComponentModel.QueueEventArgs> -> unit
Public Sub UnregisterForQueueItemAvailable (eventListener As IActivityEventListener(Of QueueEventArgs))

Параметры

eventListener
IActivityEventListener<QueueEventArgs>

Подписчик для объекта QueueEventArgs, который реализует интерфейс IActivityEventListener<T>.

Исключения

Параметр eventListener является неопределенной ссылкой (Nothing в Visual Basic).

Примеры

В следующем примере кода показано создание очереди WorkflowQueue с помощью вызова метода WorkflowQueuingService.GetWorkflowQueue. В нем также используется метод UnregisterForQueueItemAvailable для отмены регистрации указанного прослушивателя.

Этот пример кода является частью образца File Watcher Activity из пакета SDK (файл FileSystemEvent.cs). Дополнительные сведения см. в разделе Действия наблюдателя файловой системы.

private void DoUnsubscribe(ActivityExecutionContext context, IActivityEventListener<QueueEventArgs> listener)
{
    if (!this.subscriptionId.Equals(Guid.Empty))
    {
        FileWatcherService fileService = context.GetService<FileWatcherService>();
        fileService.UnregisterListener(this.subscriptionId);
        this.subscriptionId = Guid.Empty;
    }

    WorkflowQueuingService qService = context.GetService<WorkflowQueuingService>();
    WorkflowQueue queue = qService.GetWorkflowQueue(this.QueueName);

    queue.UnregisterForQueueItemAvailable(listener);
}
Private Sub DoUnsubscribe(ByVal context As ActivityExecutionContext, ByVal listener As IActivityEventListener(Of QueueEventArgs))
    If Not Me.subscriptionId.Equals(Guid.Empty) Then
        Dim fileService As FileWatcherService = context.GetService(Of FileWatcherService)()
        fileService.UnregisterListener(Me.subscriptionId)
        Me.subscriptionId = Guid.Empty
    End If

    Dim qService As WorkflowQueuingService = context.GetService(Of WorkflowQueuingService)()
    Dim queue As WorkflowQueue = qService.GetWorkflowQueue(Me.QueueName)
    queue.UnregisterForQueueItemAvailable(listener)
End Sub

Применяется к

См. также раздел