2017-09-06 10 views
0

Microsoft.ServiceBusをMicrosoft.Azure.ServiceBusに使用する作業を移行する予定です。これは、.net標準をターゲットにできるようにするためです。Microsoft.Azure.ServiceBus.net標準 - バッチ受信の方法

前のコードでは、1回の呼び出しで複数のメッセージを取得するためにReceiveBatchAsyncを使用していました。

新しい名前空間では、これを行う方法がわかりません。

この冗長化されたデザインには何か新しいことがありますか、または1.0.0リリースバージョンは部分的にしか完成していませんか?

ベストプラクティスのガイドラインは、Microsoft.ServiceBusのバージョンを参照しているようです。

答えて

0

バッチ方式はReceiveAsyncとも呼ばれ、maxMessageCountパラメータでオーバーロードを使用します。 Microsoft.Azure.ServiceBusのバージョン2.0で

/// <summary> 
/// Receives a maximum of <paramref name="maxMessageCount"/> messages from 
/// the entity defined by IReceiverClient.Path using ReceiveMode mode. 
/// </summary> 
/// <param name="maxMessageCount">The maximum number of messages that will 
/// be received.</param> 
/// <returns>List of messages received. Returns null if no message is found.</returns>  
Task<IList<Message>> ReceiveAsync(int maxMessageCount); 
+0

2つのバージョンのパフォーマンスが低下していますか。 私の(非常に予備的な)テストは、そのALOTが遅いように見えます。 –

+0

@MarkW実生活の比較をしていない... – Mikhail

0

メッセージを受信バッチのサポートはありません。唯一の方法は、Microsoft.ServiceBus.Messagingでメッセージポンプを使用することです。OnMessage、および.Net標準のnugetパッケージは、RegisterMessageHandlerと呼ばれます。

ここショーン・フェルドマンによって、これら2つのクライアントの大きなcomparsionがあります:Microsoft.ServiceBus.Messaging vs Microsoft.Azure.ServiceBus

Microsoft.Azure.ServiceBusはまだ開発され、今のようされている(2018年3月)には、まだ実体の作成支援を欠いので、あなたがすることはできませんたとえば、トピックサブスクリプションを作成または更新します。

関連する問題