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