ServiceBusSessionProcessor クラス

定義

ServiceBusSessionProcessor 、 のセット ServiceBusSessionReceiver に関する抽象化を提供します。これにより、受信した ServiceBusReceivedMessageを処理するためにイベント ベースのモデルを使用できます。 これは、 を呼び出 CreateSessionProcessor(String, ServiceBusSessionProcessorOptions)すことによって構築されます。 メッセージ ハンドラーは、 プロパティで ProcessMessageAsync 指定します。 エラー ハンドラーは、 プロパティで ProcessErrorAsync 指定されます。 ハンドラーの指定後に処理を開始するには、 を呼び出します StartProcessingAsync(CancellationToken)

public class ServiceBusSessionProcessor : IAsyncDisposable
type ServiceBusSessionProcessor = class
    interface IAsyncDisposable
Public Class ServiceBusSessionProcessor
Implements IAsyncDisposable
継承
ServiceBusSessionProcessor
実装

注釈

ServiceBusSessionProcessorは、アプリケーションの有効期間中、またはによって作成された がServiceBusClient破棄されるまで、キャッシュして使用しても安全です。 アプリケーションがメッセージを定期的に処理している場合は、プロセッサをキャッシュすることをお勧めします。 送信側は、ネットワーク、CPU、メモリの効率的な使用を確保する責任があります。 アプリケーションのシャットダウン時に関連付けられている ServiceBusClient を呼び出DisposeAsync()すと、プロセッサによって使用されるネットワーク リソースやその他のアンマネージド オブジェクトが適切にクリーンアップされます。

コンストラクター

ServiceBusSessionProcessor()

モック作成のために クラスの ServiceBusSessionProcessor 新しいインスタンスを初期化します。

ServiceBusSessionProcessor(ServiceBusClient, String, ServiceBusSessionProcessorOptions)

派生型で使用するために、 ServiceBusSessionProcessor クラスの新しいインスタンスを初期化します。

ServiceBusSessionProcessor(ServiceBusClient, String, String, ServiceBusSessionProcessorOptions)

派生型で使用するために、 ServiceBusSessionProcessor クラスの新しいインスタンスを初期化します。

プロパティ

AutoCompleteMessages

メッセージ ハンドラーの処理が完了した後に、プロセッサがメッセージを自動的に完了するかどうかを示す値を取得します。 メッセージ ハンドラーが例外をトリガーした場合、メッセージは自動的に完了しません。

EntityPath

プロセッサが接続されている Service Bus エンティティのパスを取得します。このパスは、プロセッサを含む Service Bus 名前空間に固有です。

FullyQualifiedNamespace

受信側が関連付けられている完全修飾 Service Bus 名前空間を取得します。 これは と似ている {yournamespace}.servicebus.windows.net可能性があります。

Identifier

このプロセッサ クライアントを識別するために使用される識別子を取得します。 または空の場合 null は、ランダムな一意の値が使用されます。

InnerProcessor

ServiceBusProcessorセッション プロセッサが委任する 。 これは、テスト目的でオーバーライドできます。

IsClosed

これが ServiceBusSessionProcessor 閉じられているかどうかを示します。

IsProcessing

このプロセッサが現在メッセージを処理しているかどうかを取得します。

MaxAutoLockRenewalDuration

セッション ロックが自動的に更新される最大期間を取得します。

MaxConcurrentCallsPerSession

プロセッサがセッションごとに開始するコールバックの呼び出しの最大数を取得します。 したがって、コールバックの合計数は MaxConcurrentSessions * MaxConcurrentCallsPerSession と等しくなります。 既定値は 1 です。

MaxConcurrentSessions

プロセッサによって同時に処理されるセッションの最大数を取得します。 既定値は 8 です。

PrefetchCount

処理中にキューまたはサブスクリプションから一括要求されるメッセージの数を取得します。 これは、サービス要求を待機するのではなく、プロセッサがローカル キャッシュから受信できるようにすることで、スループットを最大化することを目的としています。

ReceiveMode

メッセージの ReceiveMode 受信方法を指定するために使用される を取得します。 既定値は PeekLock モードです。

SessionIdleTimeout

現在アクティブなセッションのメッセージの受信を待機する最大時間を取得します。 この時間が経過すると、プロセッサのセッションが終了し、別のセッションの処理が試みられます。 指定しない場合は、 が TryTimeout 使用されます。

メソッド

CloseAsync(CancellationToken)

によって使用されるリソースをクリーンするために必要なタスクを実行しますServiceBusSessionProcessor

DisposeAsync()

によって使用されるリソースをクリーンするために必要なタスクを実行しますServiceBusSessionProcessor。 これは、 を呼び出すこと CloseAsync(CancellationToken)と同じです。

OnProcessErrorAsync(ProcessErrorEventArgs)

処理中にエラーが発生したときに、エラー イベント ハンドラーを呼び出します。 このメソッドをオーバーライドして、テスト目的でイベントを手動で発生させることができます。

OnProcessSessionMessageAsync(ProcessSessionMessageEventArgs)

メッセージの受信後にプロセス メッセージ イベント ハンドラーを呼び出します。 このメソッドをオーバーライドして、テスト目的でイベントを手動で発生させることができます。

OnSessionClosingAsync(ProcessSessionEventArgs)

セッションが処理のために閉じようとしているときに、セッション クローズ イベント ハンドラーを呼び出します。 このメソッドをオーバーライドして、テスト目的でイベントを手動で発生させることができます。

OnSessionInitializingAsync(ProcessSessionEventArgs)

新しいセッションが処理されようとしているときに、セッションオープン イベント ハンドラーを呼び出します。 このメソッドをオーバーライドして、テスト目的でイベントを手動で発生させることができます。

StartProcessingAsync(CancellationToken)

メッセージの処理を開始するようにプロセッサに通知します。 プロセッサの実行中にこのメソッドを呼び出した場合は、 InvalidOperationException がスローされます。

StopProcessingAsync(CancellationToken)

メッセージングの処理を停止するようにプロセッサに通知します。 プロセッサの実行中にこのメソッドを呼び出しても、何も実行されません。 このメソッドは基になるレシーバーを閉じませんが、受信側の受信を停止します。 すべての機内メッセージ ハンドラーが待機され、このメソッドは、すべての機内メッセージ ハンドラーが返されるまで戻りません。 基になるレシーバーを閉じるには、 CloseAsync(CancellationToken) を呼び出す必要があります。 が呼び出された場合 CloseAsync(CancellationToken) 、プロセッサを再起動できません。 このメソッドを呼び出した後、ある時点で処理を再開する場合は、 を呼び出 StartProcessingAsync(CancellationToken)すことができます。

UpdateConcurrency(Int32, Int32)

プロセッサのコンカレンシーを更新します。 このメソッドを使用すると、実行中のプロセッサのコンカレンシーを動的に変更できます。

UpdatePrefetchCount(Int32)

プロセッサのプリフェッチ数を更新します。 このメソッドを使用すると、実行中のプロセッサのプリフェッチ数を動的に変更できます。

イベント

ProcessErrorAsync

このプロセッサの実行中にスローされた未処理の例外の処理を担当するハンドラー。 実装は必須です。

ProcessMessageAsync

キューまたはサブスクリプションから受信したメッセージの処理を担当するハンドラー。 実装は必須です。

SessionClosingAsync

セッションが処理のために閉じようとしているときに通知されるように設定できる省略可能なハンドラー。 これは、最新 ReceiveMessageAsync(Nullable<TimeSpan>, CancellationToken) の呼び出しがタイムアウトしたか、 ReleaseSession() ハンドラーで ProcessMessageAsync 呼び出されたことを意味します。

SessionInitializingAsync

新しいセッションが処理されるときに通知されるように設定できるオプションのハンドラー。

適用対象