WorkflowQueue.UnregisterForQueueItemAvailable 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向 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
为空引用(在 Visual Basic 中为 Nothing
)。
示例
下面的代码示例演示如何通过调用 WorkflowQueue 方法创建 WorkflowQueuingService.GetWorkflowQueue。 它还使用 UnregisterForQueueItemAvailable 取消注册指定的侦听器。
此代码示例摘自 FileSystemEvent.cs 文件的“文件观察程序活动”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