다음을 통해 공유


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이 null 참조(Visual Basic의 경우 Nothing)인 경우

예제

다음 코드 예제에서는 WorkflowQueue 메서드를 호출하여 WorkflowQueuingService.GetWorkflowQueue를 만드는 방법을 보여 줍니다. 또한 UnregisterForQueueItemAvailable를 사용하여 지정된 수신기를 등록 취소합니다.

이 코드 예제는 FileSystemEvent.cs 파일에 있는 File Watcher Activity SDK 샘플의 일부입니다. 자세한 내용은 파일 시스템 감시자 작업합니다.

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

적용 대상

추가 정보