Commify.Titan.API.RabbitMQ 0.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Commify.Titan.API.RabbitMQ --version 0.6.0
                    
NuGet\Install-Package Commify.Titan.API.RabbitMQ -Version 0.6.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Commify.Titan.API.RabbitMQ" Version="0.6.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Commify.Titan.API.RabbitMQ" Version="0.6.0" />
                    
Directory.Packages.props
<PackageReference Include="Commify.Titan.API.RabbitMQ" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Commify.Titan.API.RabbitMQ --version 0.6.0
                    
#r "nuget: Commify.Titan.API.RabbitMQ, 0.6.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Commify.Titan.API.RabbitMQ@0.6.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Commify.Titan.API.RabbitMQ&version=0.6.0
                    
Install as a Cake Addin
#tool nuget:?package=Commify.Titan.API.RabbitMQ&version=0.6.0
                    
Install as a Cake Tool

Commify.Titan.API.RabbitMQ

Self-contained NuGet package that enables RabbitMQ messaging to any .NET 8 or .NET 10 app.

Contact

Titan API Team

Configuration

The necessary configuration in appsettings is:

RabbitMQ

"TitanCommunication": {
	"RabbitMQ": {
		"ConnectionString" : "connection_string",
		"Host": "host" //if connection string is not available
		"Port": 5672 //if connection string is not available
		"BasicCredentials": { //if set will use basic auth, if not, will fall back to AAD token authentication
			"Username": "username",
			"Password": "password"
		}
	}
}

Identity

"Identity": {
	"WorkstreamToken": {
		"KeyVaultUrl": "https://my-key-vault.net/",
		"ManagedIdentity": "managedIdentityId"
		},
		"Mappings": [
        {
          "Key": "example-service",
          "Value": "exampleServiceId"
        }
      ]
}

Additional environment variables:

  • K8S_POD_NAME (Required for unique queue generation)

Usage

Publisher

To enable it, this component offers a selection of extension methods over IServiceCollection:

  • RegisterEventPublisher handles event publishing, no configuration needed.
  • RegisterMessagePublisher registers an IMessagePublisher<TMessage> that publishes messages to the configured virtual host and exchange name. Comes in two flavours, one that provides IServiceProvider in the options delegate and one that doesn't.
  • RegisterMessagePublisherWithOutbox registers an IOutboxMessagePublisher<TMessage> that publishes messages using an outbox to the configured virtual host and exchange name. Comes in two flavours, one that provides IServiceProvider in the options delegate and one that doesn't.

Consumer

To enable it, this component offers a selection of extension methods over IServiceCollection:

  • RegisterEventConsumer handles event consuming, no configuration needed.
  • RegisterMessageConsumer requires the user to provide an implementation of IMessageConsumer<TMessage>, which will be called when a message is consumed. Configuration requires a virtual host, an exchange name to bind to, the exchange type and an optional queue name. If the queue name is not specified it will be generated automatically with a name based on the K8S_POD_NAME variable and will self-delete when the application is stopped. Comes in two flavours, one that provides IServiceProvider in the options delegate and one that doesn't.
  • RegisterChannelMessageConsumer registers a Channel<QueueMessage<TMessage>> that can be used to consume messages. Configuration requires a virtual host, an exchange name to bind to, the exchange type and an optional queue name. If the queue name is not specified it will be generated automatically with a name based on the K8S_POD_NAME variable and will self-delete when the application is stopped. Comes in two flavours, one that provides IServiceProvider in the options delegate and one that doesn't.

Custom implementation

If a more flexible implementation is desired, only needing the connection management part with absolute freedom over publishing and consuming messages we also provide the RegisterRabbitMQMessaging extension method. It will only register a singleton IConnectionManagement.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 0 3/13/2026
1.0.6 78 3/10/2026
1.0.5 105 3/9/2026
1.0.4 85 3/8/2026
1.0.3 81 3/7/2026
1.0.2 81 3/7/2026
1.0.1 81 3/6/2026
1.0.0 76 3/6/2026
0.16.0 79 3/6/2026
0.15.0 79 3/6/2026
0.14.0 82 3/5/2026
0.13.0 77 3/5/2026
0.8.0 78 3/5/2026
0.7.0 78 3/5/2026
0.6.0 88 3/2/2026
0.5.0 87 2/24/2026
0.1.0 110 2/20/2026