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.
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.
// Install GaNascimento.RabbitMQ as a Cake Addin
#addin nuget:?package=GaNascimento.RabbitMQ&version=1.0.0
// Install GaNascimento.RabbitMQ as a Cake Tool
#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. |
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 | 94 | 3/21/2024 |