Azure Service Bus 名前空間には、SubscriptionClient
次の方法で MessageSession を開始するメソッドを持つ型があります。
MessageSession session = subscriptionClient.AcceptMessageSession(...);
これは同期バージョンで、MessageSession を返します。このライブラリは、非同期バージョンの BeginAcceptMessageSession() も提供します。これは、コールバックを呼び出し、IAsyncResult と渡したい状態オブジェクトを渡すため、つまずきます。私の場合、SubscriptionClient インスタンスを渡しているので、SubscriptionClient で EndAcceptMessageSession() を呼び出すことができます。BeginAcceptMessageSession() の戻り値の型は void です。
BeginAcceptMessageSession() を介して受け入れられる MessageSession にアクセスするにはどうすればよいですか? コールバックの結果パラメーターに返されるのは、EndAcceptMessageSession() を介して BeginAcceptMessageSession() を終了するために必要な SubscriptionClient インスタンスだけです。
MessageSession リファレンスはどこにもありません。この点に関して、ドキュメントは役に立ちません。Google で検索してもわずか 3 ページの検索結果しか表示されません。そのほとんどは、MSDN からのメソッド自体のオンライン説明にすぎません。AsyncManager.Parameters を調べましたが、これも空です。
このように作成された MessageSession への参照を取得できるように、BeginAcceptMessageSession() を呼び出す方法を知っている人はいますか?