SwitchSoftware.Messaging.RPC.RabbitMQ
8.0.2
dotnet add package SwitchSoftware.Messaging.RPC.RabbitMQ --version 8.0.2
NuGet\Install-Package SwitchSoftware.Messaging.RPC.RabbitMQ -Version 8.0.2
<PackageReference Include="SwitchSoftware.Messaging.RPC.RabbitMQ" Version="8.0.2" />
<PackageVersion Include="SwitchSoftware.Messaging.RPC.RabbitMQ" Version="8.0.2" />
<PackageReference Include="SwitchSoftware.Messaging.RPC.RabbitMQ" />
paket add SwitchSoftware.Messaging.RPC.RabbitMQ --version 8.0.2
#r "nuget: SwitchSoftware.Messaging.RPC.RabbitMQ, 8.0.2"
#:package SwitchSoftware.Messaging.RPC.RabbitMQ@8.0.2
#addin nuget:?package=SwitchSoftware.Messaging.RPC.RabbitMQ&version=8.0.2
#tool nuget:?package=SwitchSoftware.Messaging.RPC.RabbitMQ&version=8.0.2
Switch Software RPC implementation for RabbitMQ
Installation
nuget repo : https://www.nuget.org/packages/SwitchSoftware.Messaging.RPC.RabbitMQ
There are also versions for .net core 6.0 and 5.0
Usage
Instantatiate an RPCServer to listen on "myQueue" and handle requests in the handlerequest method:
_rpcServer.Start();
private async Task<string> handleRequest(string data)
{
//handle your request
return $"Hello, you sent me {data}";
}
You will need to pass an IConfiguration and ILogger instances as well.
Configuration
The server relies on the following app settings (adjust to your RabbitMQ instance):
"HostName": "localhost",
"Username": "guest",
"Password": "guest",
"VirtualHost": "/",
"RPC_CLIENT_TIME_OUT_IN_MILLISECONDS":60000
}
Note: RPC_CLIENT_TIME_OUT_IN_MILLISECONDS is optional. If not specified, the default time out value of 45000 ms is used.
RPC Client
To send a request to the server, instantiate an RPCClient through the RpcClientFactory and call the CallAsync method:
var rpcClientFactory = new RpcClientFactory(configuration, logger);
var rpcClient = rpcClientFactory.GetRpcClient();
var response = await rpcClient.CallAsync("testqueue", "Hello!");
The client also relies on the RabbitMqConnection app settings.
Version History
8.0.2 - Added out-of-the-box support for RabbitMQ round-robin dispatching
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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.1)
- RabbitMQ.Client (>= 6.8.1)
- SwitchSoftware.Messaging.RPC (>= 2.1.0)
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 |
---|---|---|
8.0.2 | 20,855 | 10/16/2024 |
8.0.2-alpha-3 | 94 | 10/15/2024 |
8.0.2-alpha-1 | 118 | 8/30/2024 |
8.0.1 | 4,720 | 8/30/2024 |
8.0.0 | 2,374 | 7/15/2024 |
7.0.3 | 5,852 | 1/11/2024 |
7.0.2 | 4,659 | 9/25/2023 |
7.0.1 | 650 | 11/25/2022 |
7.0.1-timeout.60 | 227 | 8/2/2023 |
7.0.0 | 401 | 11/9/2022 |
6.0.3 | 9,350 | 11/25/2022 |
6.0.2 | 846 | 8/10/2022 |
6.0.0 | 7,424 | 5/24/2022 |
5.0.0 | 518 | 5/24/2022 |
3.1.25 | 591 | 5/24/2022 |
3.1.24 | 509 | 5/24/2022 |
3.1.23 | 505 | 5/24/2022 |
3.1.22 | 504 | 5/24/2022 |
3.1.21 | 501 | 5/24/2022 |
3.1.20 | 512 | 5/24/2022 |
3.1.19 | 473 | 5/24/2022 |
3.1.18 | 509 | 5/24/2022 |
3.1.17 | 522 | 5/24/2022 |
3.1.16 | 500 | 5/24/2022 |
3.1.15 | 499 | 5/24/2022 |
3.1.14 | 489 | 5/24/2022 |
3.1.13 | 473 | 5/24/2022 |
3.1.12 | 502 | 5/24/2022 |
3.1.11 | 518 | 5/24/2022 |
3.1.10 | 512 | 5/24/2022 |
3.1.9 | 494 | 5/24/2022 |
3.1.8 | 506 | 5/24/2022 |
3.1.7 | 505 | 5/24/2022 |
3.1.6 | 503 | 5/24/2022 |
3.1.5 | 496 | 5/24/2022 |
3.1.4 | 500 | 5/24/2022 |
3.1.3 | 513 | 5/24/2022 |
3.1.2 | 501 | 5/24/2022 |
3.1.1 | 508 | 5/24/2022 |
2.0.2 | 1,431 | 5/16/2022 |