2017-09-06 1 views
0

Ich bin auf der Suche nach einigen Arbeiten, die Microsoft.ServiceBus über Microsoft.Azure.ServiceBus über Microsoft. Dies ist so, dass wir den .net-Standard erreichen können.Microsoft.Azure.ServiceBus .net Standard - How To Batch Empfangen

Der vorherige Code verwendet ReceiveBatchAsync, um mehrere Nachrichten innerhalb eines einzelnen Aufrufs abzurufen.

Im neuen Namespace sehe ich keinen Weg, dies zu tun.

Gibt es etwas Neues im Design, das dies überflüssig macht, oder ist die Version 1.0.0 nur teilweise fertig?

Die Best Practice-Richtlinien scheinen sich auf die Microsoft.ServiceBus-Version zu beziehen.

Antwort

0

Batch-Methode heißt jetzt auch nur ReceiveAsync, verwenden Sie die Überlast mit maxMessageCount Parameter.

/// <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

Haben Sie eine Verschlechterung der Leistung zwischen den beiden Versionen festgestellt? Meine (sehr vorläufigen) Tests sehen aus wie es viel langsamer. –

+0

@MarkW Habe noch keinen echten Vergleich gemacht ... – Mikhail

0

In der Version 2.0 von Microsoft.Azure.ServiceBus ist es keine Unterstützung für Batch Empfangen von Nachrichten. Die einzige Möglichkeit ist die Verwendung von Message Pump, die in Microsoft.ServiceBus.Messaging OnMessage genannt wurde, und in .NET Standard-NUget-Paket heißt RegisterMessageHandler.

Es gibt eine große comparsion dieser beiden Kunden von Sean Feldman hier: Microsoft.ServiceBus.Messaging vs Microsoft.Azure.ServiceBus

Microsoft.Azure.ServiceBus noch entwickelt wird und wie jetzt (März 2018) es fehlt nach wie vor die Schaffung Unterstützung Einheit, so dass Sie nicht zum Beispiel Erstellen oder Aktualisieren von Themenabonnements.