diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml index e9fba6ad0..b46061ed5 100644 --- a/.github/workflows/dotnetcore.yml +++ b/.github/workflows/dotnetcore.yml @@ -3,8 +3,8 @@ name: Build Core Framework on: [push] env: - nuGetVersionNumber: 5.2.1 - nuGetFullVersionNumber: 5.2.1.${{ github.run_number }} + nuGetVersionNumber: 5.2.2 + nuGetFullVersionNumber: 5.2.2.${{ github.run_number }} jobs: build: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9868a2437..2bb5db651 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,8 +6,8 @@ on: workflow_dispatch: env: - nuGetVersionNumber: 5.2.1 - nuGetFullVersionNumber: 5.2.1.${{ github.run_number }} + nuGetVersionNumber: 5.2.2 + nuGetFullVersionNumber: 5.2.2.${{ github.run_number }} # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: diff --git a/Framework/Azure/Cqrs.Azure.ServiceBus/AzureServiceBus.cs b/Framework/Azure/Cqrs.Azure.ServiceBus/AzureServiceBus.cs index 86c9a22fc..a688d5d95 100644 --- a/Framework/Azure/Cqrs.Azure.ServiceBus/AzureServiceBus.cs +++ b/Framework/Azure/Cqrs.Azure.ServiceBus/AzureServiceBus.cs @@ -1366,6 +1366,10 @@ BrokeredMessage CreateBrokeredMessage { CorrelationId = CorrelationIdHelper.GetCorrelationId().ToString("N") }; + if (message is IMessageWithOrderingKey messageWithOrderingKey) + { + brokeredMessage.SessionId = messageWithOrderingKey.OrderKey; + } brokeredMessage.AddUserProperty("CorrelationId", brokeredMessage.CorrelationId); brokeredMessage.AddUserProperty("Type", messageType.FullName); brokeredMessage.AddUserProperty("Source", $"{Logger.LoggerSettings.ModuleName}/{Logger.LoggerSettings.Instance}/{Logger.LoggerSettings.Environment}/{Logger.LoggerSettings.EnvironmentInstance}"); diff --git a/Framework/Azure/Cqrs.Azure.ServiceBus/Cqrs.Azure.ServiceBus.csproj b/Framework/Azure/Cqrs.Azure.ServiceBus/Cqrs.Azure.ServiceBus.csproj index a3facb019..4ec2568a3 100644 --- a/Framework/Azure/Cqrs.Azure.ServiceBus/Cqrs.Azure.ServiceBus.csproj +++ b/Framework/Azure/Cqrs.Azure.ServiceBus/Cqrs.Azure.ServiceBus.csproj @@ -14,6 +14,7 @@ * Refactored .NET Standard 2.0 to be far now async/await able... means some breaking changes as method names and return types change. * Added the ability to delay sending message publishing + * Introduced setting the SessionID (https://learn.microsoft.com/en-us/azure/service-bus-messaging/message-sessions) if IMessageWithOrderingKey is implemented on a message Version 5.0 diff --git a/Framework/Cqrs/Cqrs.csproj b/Framework/Cqrs/Cqrs.csproj index 0fb939905..d758d5072 100644 --- a/Framework/Cqrs/Cqrs.csproj +++ b/Framework/Cqrs/Cqrs.csproj @@ -17,7 +17,8 @@ Version 5.2 * Refactored .NET Standard 2.0 to be far more async/await able... means some breaking changes as method names and return types change. - * Added the ability to delay sending message publishing + * Added the ability to delay sending message publishing. + * Introduced the IMessageWithOrderingKey interface to aid in applying message process ordering if supported. Version 5.0