WorkflowQueue.RegisterForQueueItemAvailable 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
註冊 QueueItemAvailable 事件的訂閱者。
多載
備註
您可以使用多載的 RegisterForQueueItemAvailable 方法來註冊 QueueItemAvailable 事件的訂閱者。 QueueItemAvailable 事件是用來通知訂閱者已有項目傳遞 (以非同步方式) 到此 WorkflowQueue。
RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>)
註冊 QueueItemAvailable 事件的訂閱者。
public:
void RegisterForQueueItemAvailable(System::Workflow::ComponentModel::IActivityEventListener<System::Workflow::ComponentModel::QueueEventArgs ^> ^ eventListener);
public void RegisterForQueueItemAvailable (System.Workflow.ComponentModel.IActivityEventListener<System.Workflow.ComponentModel.QueueEventArgs> eventListener);
member this.RegisterForQueueItemAvailable : System.Workflow.ComponentModel.IActivityEventListener<System.Workflow.ComponentModel.QueueEventArgs> -> unit
Public Sub RegisterForQueueItemAvailable (eventListener As IActivityEventListener(Of QueueEventArgs))
參數
- eventListener
- IActivityEventListener<QueueEventArgs>
實作 QueueEventArgs 介面之 IActivityEventListener<T> 的訂閱者。
例外狀況
eventListener
為 null 參考 (在 Visual Basic 中為 Nothing
)。
範例
下列程式碼範例將示範如何呼叫 WorkflowQueue 方法來建立 WorkflowQueuingService.GetWorkflowQueue。 也會使用 RegisterForQueueItemAvailable 註冊指定的接聽程式。
這個程式碼範例是 FileSystemEvent.cs 檔案中<檔案監看員活動 SDK>範例的一部分。 如需詳細資訊,請參閱 文件系統監看員活動。
private Boolean DoSubscribe(ActivityExecutionContext context, IActivityEventListener<QueueEventArgs> listener)
{
WorkflowQueue queue = CreateQueue(context);
queue.RegisterForQueueItemAvailable(listener);
FileWatcherService fileService = context.GetService<FileWatcherService>();
this.subscriptionId = fileService.RegisterListener(this.QueueName, this.Path, this.Filter, this.NotifyFilter, this.IncludeSubdirectories);
return (subscriptionId != Guid.Empty);
}
Private Function DoSubscribe(ByVal context As ActivityExecutionContext, ByVal listener As IActivityEventListener(Of QueueEventArgs)) As Boolean
Dim Queue As WorkflowQueue = CreateQueue(context)
Queue.RegisterForQueueItemAvailable(listener)
Dim fileService As FileWatcherService = context.GetService(Of FileWatcherService)()
Me.subscriptionId = fileService.RegisterListener(Me.queueName, Me.Path, Me.Filter, Me.NotifyFilter, Me.IncludeSubdirectories)
Return Not subscriptionId = Guid.Empty
End Function
另請參閱
適用於
RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>, String)
註冊 QueueItemAvailable 事件的訂閱者。
public:
void RegisterForQueueItemAvailable(System::Workflow::ComponentModel::IActivityEventListener<System::Workflow::ComponentModel::QueueEventArgs ^> ^ eventListener, System::String ^ subscriberQualifiedName);
public void RegisterForQueueItemAvailable (System.Workflow.ComponentModel.IActivityEventListener<System.Workflow.ComponentModel.QueueEventArgs> eventListener, string subscriberQualifiedName);
member this.RegisterForQueueItemAvailable : System.Workflow.ComponentModel.IActivityEventListener<System.Workflow.ComponentModel.QueueEventArgs> * string -> unit
Public Sub RegisterForQueueItemAvailable (eventListener As IActivityEventListener(Of QueueEventArgs), subscriberQualifiedName As String)
參數
- eventListener
- IActivityEventListener<QueueEventArgs>
實作 QueueEventArgs 介面之 IActivityEventListener<T> 的訂閱者。
- subscriberQualifiedName
- String
訂閱 QualifiedName 事件之活動的 QueueItemAvailable,或 null 參考 (Visual Basic 中為 Nothing
)。
例外狀況
eventListener
為 null 參考 (Nothing
)。
備註
如果訂閱活動的限定名稱 (Qualified Name) 是由 subscriberQualifiedName
提供,則呼叫 WorkflowQueueInfo.SubscribedActivityNames 時,便會在與此佇列關聯之 WorkflowQueueInfo 的 WorkflowInstance.GetWorkflowQueueData 中傳回該限定名稱。