What's Changed
deprecate legacy projects
Legacy projects were exclusively for generating assemblies for .net framework 4.5. Latest framework supported is now 4.8 and 4.5 support is removed.
Added timestamp support to received messages
User can configure via appsettings.json
whether an arrival timestamp is added to every received message. By default timestamp is not added but needs to be configured separately either via settings file or AzureBusTopicSettings.cs
.
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
"MessagingSettings": {
...
"AddArrival": true
}
}
Arrival time is of type nullable long and the value is unix time in milliseconds. It appears in the data payload as a field rxmqarrival
.
[JsonProperty("rxmqarrival")]
public long? RxMqArrival { get; set; }
Add support for Topic settings PrefetchCount and ReceiveMode
Allow consumer to configure either generally or topic by topic bases PrefetchCount
and ReceiveMode
for Topic Subscription Client. PrefetchCount
allows consumer to control how many messages are received from topic at once. ReceiveMode
controls how does the subscription client behave in regards to receiving messages. There are two modes currently supported:
- PeekLock means Service Bus will wait for confirmation from client that messages has been received
ReceiveAndDelete
means Service Bus will delete message as soon as it has departed the topic regardless of client status
Defaults to 0 and PeekLock.
Default settings example:
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
"MessagingSettings": {
...
"DefaultPrefetchCount": 0,
"DefaultReceiveMode": "PeekLock"
}
}
To determine PrefetchCount and ReceiveMode on topic basis, implement IConfigurableTopicItem
interface.
Full Changelog: 3.1.0...4.0.0