Amqp0_9_1.Net
0.0.3
dotnet add package Amqp0_9_1.Net --version 0.0.3
NuGet\Install-Package Amqp0_9_1.Net -Version 0.0.3
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="Amqp0_9_1.Net" Version="0.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Amqp0_9_1.Net" Version="0.0.3" />
<PackageReference Include="Amqp0_9_1.Net" />
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 Amqp0_9_1.Net --version 0.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Amqp0_9_1.Net, 0.0.3"
#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 Amqp0_9_1.Net@0.0.3
#: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=Amqp0_9_1.Net&version=0.0.3
#tool nuget:?package=Amqp0_9_1.Net&version=0.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Amqp0_9_1.Net
A lightweight .NET implementation of the AMQP 0‑9‑1 protocol, offering an easy‑to‑use, asynchronous API for communicating with RabbitMQ and other AMQP‑compatible brokers. It's currently in early development stage.
Features
- Current support for AMQP 0‑9‑1 frames:
- Methods: BasicAck, BasicConsume, BasicConsumeOk, BasicDeliver, BasicNack, ChannelClose, ChannelCloseOk, ChannelOpen, ChannelOpenOk, ConnectionClose, ConnectionOpen, ConnectionOpenOk, ConnectionStart, ConnectionStartOk, ConnectionTune, ConnectionTuneOk, ExchangeDeclare, QueueBind, QueueDeclare.
- Headers: full support on consume
- Body: all popular body encoding
- Heartbeat: full support
- Asynchronous
async/awaitAPI - Currently, no automatic reconnection
- Currently, only TCP (no TLS)
Dependencies
- .NET Standard 2.0
- System.IO.Pipelines
- System.Threading.Channels
Getting Started
Installation
dotnet add package Amqp0_9_1.Net
Basic Example
using Amqp0_9_1.Clients;
using Amqp0_9_1.Constants;
// Create a connection factory
using var connection = new AmqpConnection("localhost", 5672);
// Connect to AMQP server
await connection.ConnectAsync("guest", "guest");
//Open new channel
using var channel = await connection.CreateChannelAsync(1);
// Declare (create or update) Exchange
var exchange = await channel.ExchangeDeclareAsync("exchange_name", ExchangeType.Direct);
// Declare (create or update) Queue
var queue = await channel.QueueDeclareAsync("queue_name");
// Bind Exchange to Queue
await queue.BindAsync("exchange_name", "queue_name");
// Consume messages from Queue
await queue.ConsumeAsync(async message =>
{
Console.WriteLine("Message body: " + message.Body);
await queue.AckAsync(message.DeliveryTag);
});
Configuration
| Setting | Description | Default |
|---|---|---|
host |
Broker hostname or IP | localhost |
port |
Broker port (currently, only plain) | 5672 |
username |
Authentication user | guest |
password |
Authentication password | guest |
virtualHost |
AMQP virtual host | / |
Contributing
- Fork the repository.
- Create a feature branch (
git checkout -b feature/xyz). - Write tests for your changes.
- Ensure all tests pass (
dotnet test). - Submit a pull request.
Please follow the existing coding style and include XML documentation for public members.
License
This project is licensed under the .
References & Resources
- AMQP 0‑9‑1 Specification – https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- System.IO.Pipelines (>= 9.0.10)
- System.Threading.Channels (>= 9.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.