GaNascimento.RabbitMQ
1.0.0
dotnet add package GaNascimento.RabbitMQ --version 1.0.0
NuGet\Install-Package GaNascimento.RabbitMQ -Version 1.0.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="GaNascimento.RabbitMQ" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GaNascimento.RabbitMQ" Version="1.0.0" />
<PackageReference Include="GaNascimento.RabbitMQ" />
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 GaNascimento.RabbitMQ --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: GaNascimento.RabbitMQ, 1.0.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 GaNascimento.RabbitMQ@1.0.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=GaNascimento.RabbitMQ&version=1.0.0
#tool nuget:?package=GaNascimento.RabbitMQ&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
GaNascimento.RabbitMQ
About
This library was developed to help use RabbitMQ in .Net with a simple implementation. To create it, the RabbitMQ.Client library was used.
Usage
It has two simple implementations which are described below
Publish Message To Queue
In application config set:
builder.Services.AddRabbitMQ(config =>
{
config.Host("amqp://guest:guest@localhost:5672");
// Set your consumer type
// Set the queue name
config.RegisterConsumer<DefaultAppConsumer>("queue.default");
});
To create the consumer:
public class DefaultAppConsumer : ConsumerService<DefaultAppConsumer, DefaultAppConsumerModel>
{
public DefaultAppConsumer(RabbitConfiguration rabbitConfiguration) : base(rabbitConfiguration)
{
}
protected override Task Consume(DefaultAppConsumerModel? messageBody)
{
throw new NotImplementedException();
}
}
public class DefaultAppConsumerModel
{
public required string Name { get; set; }
}
To publish message to consumer:
public class Controller
{
private readonly PublishMessage _publishMessage;
public Controller(PublishMessage publishMessage)
{
_publishMessage = publishMessage;
}
public async Task Sender()
{
_publishMessage.PublishToQueueAsync(new DefaultAppConsumerModel
{
Name = "Guilherme"
}, "queue.default");
}
}
PubSub
In application config set:
builder.Services.AddRabbitMQ(config =>
{
config.Host("amqp://guest:guest@localhost:5672");
// Set your consumer type
// Set the queue name
// Queue name is optional
config.RegisterSubscribe<DefaultAppConsumer>("exchange.default", "queue.default");
});
To create the consumer:
public class DefaultAppConsumer : SubscribeService<DefaultAppConsumer, DefaultAppConsumerModel>
{
public DefaultAppConsumer(RabbitConfiguration rabbitConfiguration) : base(rabbitConfiguration)
{
}
protected override Task Consume(DefaultAppConsumerModel? messageBody)
{
throw new NotImplementedException();
}
}
public class DefaultAppConsumerModel
{
public required string Name { get; set; }
}
To publish message to exchange:
public class Controller
{
private readonly PublishMessage _publishMessage;
public Controller(PublishMessage publishMessage)
{
_publishMessage = publishMessage;
}
public async Task Sender()
{
_publishMessage.PublishToExchangeAsync(new DefaultAppConsumerModel
{
Name = "Guilherme"
}, "exchange.default");
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Hosting (>= 8.0.0)
- RabbitMQ.Client (>= 6.8.1)
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.0.0 | 157 | 3/21/2024 |