EasilyNET.RabbitBus.AspNetCore 2.2.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package EasilyNET.RabbitBus.AspNetCore --version 2.2.2
                    
NuGet\Install-Package EasilyNET.RabbitBus.AspNetCore -Version 2.2.2
                    
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="EasilyNET.RabbitBus.AspNetCore" Version="2.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EasilyNET.RabbitBus.AspNetCore" Version="2.2.2" />
                    
Directory.Packages.props
<PackageReference Include="EasilyNET.RabbitBus.AspNetCore" />
                    
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 EasilyNET.RabbitBus.AspNetCore --version 2.2.2
                    
#r "nuget: EasilyNET.RabbitBus.AspNetCore, 2.2.2"
                    
#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 EasilyNET.RabbitBus.AspNetCore@2.2.2
                    
#: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=EasilyNET.RabbitBus.AspNetCore&version=2.2.2
                    
Install as a Cake Addin
#tool nuget:?package=EasilyNET.RabbitBus.AspNetCore&version=2.2.2
                    
Install as a Cake Tool
EasilyNET.RabbitBus.AspNetCore

支持延时队列,服务端需要启用 rabbitmq-delayed-message-exchange 插件

  • 支持同一个消息被多个 Handler 消费
  • 若是就是想写多个 Handler 但是又希望某些 Handler 不执行,可以在不需要的 Handler 上标记 [IgnoreHandler] 特性
如何使用
  • 首先使用 Nuget 包管理工具添加依赖 EasilyNET.RabbitBus.AspNetCore
  • 等待下载完成和同意开源协议后,即可使用本库.
  • Step1.在 Program.cs 中配置消息总线
// 配置服务(亦可使用集群模式或者使用配置文件)
builder.Services.AddRabbitBus(c =>
{
    c.Host = "192.168.2.110";
    c.Port = 5672;
    c.UserName = "username";
    c.PassWord = "password";
    ...
});
  • Step2.接下来配置事件和事件处理器
/// <summary>
/// 测试消息类型,消息继承自 IEvent 或者 Event
/// </summary>
[Exchange("hoyo.test", EModel.Routing, "test", "orderqueue2")]
public class TestEvent : Event
{
    /// <summary>
    /// 消息
    /// </summary>
    public string Message { get; set; } = default!;
}

/// <summary>
/// 消息处理Handler
/// </summary>
public class TestEventHandler(ILogger<TestEventHandler> logger) : IEventHandler<TestEvent>
{
    /// <summary>
    /// 当消息到达的时候执行的Action
    /// </summary>
    /// <param name="event"></param>
    /// <returns></returns>
    public Task HandleAsync(TestEvent @event)
    {
        logger.LogInformation("TestEvent_{event}-----{date}", @event.Message, DateTime.Now);
        return Task.CompletedTask;
    }
}

/// <summary>
/// 若是存在同一个消息多个 Handler 实现,比如这里我们写了两个 Handler,那么发送一次消息这两个 Handler 均会执行.
/// </summary>
/// 若是不希望这个 Handler 执行可以标记
[IgnoreHandler]
public class TestEventHandlerSecond(ILogger<TestEventHandlerSecond> logger) : IEventHandler<TestEvent>
{
    /// <summary>
    /// 当消息到达的时候执行的Action
    /// </summary>
    /// <param name="event"></param>
    /// <returns></returns>
    public Task HandleAsync(TestEvent @event)
    {
        logger.LogInformation("TestEvent_{event}-----{date}", @event.Message, DateTime.Now);
        return Task.CompletedTask;
    }
}
  • Step3.使用消息队列发送消息
private readonly IBus _ibus;
// 控制器构造函数伪代码
construct(IBus ibus){
   _ibus = ibus;
}
/// <summary>
/// 创建一个延时消息,同时发送一个普通消息做对比
/// </summary>
[HttpPost("TTLTest")]
public async Task TTLTest()
{
    var rand = new Random();
    var ttl = rand.Next(1000, 10000);
    var ttlobj = new DelayedMessageEvent() { Message = $"延迟{ttl}毫秒,当前时间{DateTime.Now:yyyy-MM-dd HH:mm:ss}" };
    // 延时队列需要服务端安装延时队列插件.
    await _ibus.Publish(ttlobj, (uint)ttl);
    await _ibus.Publish(ttlobj);
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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 is compatible.  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.

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
4.25.716.42 31 7/15/2025
4.25.617.153 122 6/17/2025
4.25.616.190 116 6/16/2025
4.25.616.182 113 6/16/2025
4.25.613.111 258 6/13/2025
4.25.609.190 212 6/9/2025
4.25.609.181 201 6/9/2025
4.25.609.163 203 6/9/2025
4.25.609.140 188 6/9/2025
4.25.605.171 119 6/5/2025
4.25.605.104 125 6/5/2025
4.25.602.41 126 6/1/2025
4.25.526.140 126 5/26/2025
4.25.513.101 216 5/13/2025
4.25.506.150 127 5/6/2025
4.25.429.162 134 4/29/2025
4.25.429.103 158 4/29/2025
4.25.411.142 125 4/11/2025
4.25.409.92 143 4/9/2025
4.25.403.133 145 4/3/2025
4.25.319.113 156 3/19/2025
4.25.312.103 157 3/12/2025
4.25.227.135 92 2/27/2025
4.25.212.95 239 2/12/2025
4.25.211.140 95 2/11/2025
4.25.124.223 78 1/24/2025
3.24.1206.100 87 12/6/2024
3.24.1205.171 91 12/5/2024
3.24.1202.150 88 12/2/2024
3.24.1126.231 92 11/26/2024
3.24.1126.172 85 11/26/2024
3.24.1126.114 87 11/26/2024
3.24.1126.104 85 11/26/2024
3.24.1125.181 79 11/25/2024
3.24.1125.104 89 11/25/2024
3.24.1121.183 81 11/21/2024
3.24.1120.183 83 11/20/2024
3.24.1119.31 88 11/18/2024
3.24.1115.143 71 11/15/2024
3.24.1113.100 90 11/13/2024
3.24.1112.125 576 11/12/2024
3.24.1107.140 83 11/7/2024
3.24.1107.54 81 11/7/2024
3.24.1107.34 83 11/7/2024
3.24.1105.111 86 11/5/2024
3.24.1103.31 91 11/2/2024
3.24.1103 84 11/2/2024
3.24.1031.135 83 10/31/2024
3.24.1031.112 81 10/31/2024
3.24.1031.104 83 10/31/2024
3.24.1029.142 84 10/29/2024
3.24.1025.30 181 10/24/2024
3.24.1022.142 73 10/22/2024
3.24.1018.204 136 10/18/2024
3.24.1018.175 130 10/18/2024
3.24.1018.166 131 10/18/2024
3.24.1018.93 132 10/18/2024
3.24.1017.42 83 10/16/2024
3.24.1016.161 83 10/16/2024
3.24.1015.231 83 10/15/2024
3.24.1015.14 88 10/14/2024
3.24.1012.114 78 10/12/2024
3.24.1009.115 89 10/9/2024
3.24.1008.160 88 10/8/2024
3.24.1008.133 79 10/8/2024
3.24.1007.185 87 10/7/2024
3.24.1003.33 90 10/2/2024
3.24.1002.162 89 10/2/2024
3.24.929.143 86 9/29/2024
3.24.929.141 84 9/29/2024
3.24.929.131 85 9/29/2024
3.24.929.122 87 9/29/2024
3.24.926.184 90 9/26/2024
3.24.926.182 91 9/26/2024
3.24.926.175 94 9/26/2024
3.24.924.160 89 9/24/2024
3.24.924.133 95 9/24/2024
3.24.924.124 86 9/24/2024
3.24.924.10 98 9/23/2024
3.24.924.1 80 9/23/2024
3.24.923.234 87 9/23/2024
3.24.923.232 85 9/23/2024
3.24.923.155 85 9/23/2024
3.24.919.92 98 9/19/2024
3.24.914.125 93 9/14/2024
3.24.914.115 89 9/14/2024
3.24.914.111 97 9/14/2024
3.24.911.95 86 9/11/2024
3.24.908.215 81 9/8/2024
3.24.904.200 88 9/4/2024
3.24.828.163 93 8/28/2024
3.24.820.173 94 8/20/2024
3.24.814.92 104 8/14/2024
3.24.812.115 100 8/12/2024
3.24.802.100 76 8/2/2024
3.24.801.162 81 8/1/2024
3.24.801.160 85 8/1/2024
3.24.801.155 84 8/1/2024
3.24.730.164 76 7/30/2024
3.24.730.91 71 7/30/2024
3.24.724.91 78 7/24/2024
3.24.718.105 101 7/18/2024
3.24.716.95 89 7/16/2024
3.24.712.94 89 7/12/2024
3.24.710.14 84 7/9/2024
3.24.709.105 89 7/9/2024
3.24.704.94 91 7/4/2024
3.24.701.90 85 7/1/2024
3.24.628.114 96 6/28/2024
3.24.627.145 89 6/27/2024
3.24.620.160 94 6/20/2024
3.24.613.115 88 6/13/2024
3.24.612.95 94 6/12/2024
3.24.528.90 87 5/28/2024
3.24.522.84 102 5/22/2024
3.24.512.213 87 5/12/2024
3.24.508.112 103 5/8/2024
2.2024.428.71 96 4/28/2024
2.2024.427.1128 96 4/27/2024
2.2.72 112 4/14/2024
2.2.71 89 4/12/2024
2.2.8 93 4/26/2024
2.2.6 88 4/10/2024
2.2.5 113 3/26/2024
2.2.4 104 3/25/2024
2.2.3 96 3/24/2024
2.2.2 106 3/21/2024
2.2.1 108 3/20/2024
2.2.0 109 3/13/2024
2.1.9 103 2/21/2024
2.1.8 106 2/18/2024
2.1.7 109 2/16/2024
2.1.6 120 2/14/2024
2.1.5 97 2/14/2024
2.1.4 122 2/9/2024
2.1.3 104 2/8/2024
2.1.2 129 2/5/2024
2.1.1.2 176 12/26/2023
2.1.1.1 112 12/26/2023
2.1.1 114 12/25/2023
2.1.0 132 12/17/2023
2.0.11 150 12/6/2023
2.0.1 147 11/15/2023
2.0.0 105 11/14/2023
1.9.1 120 11/1/2023
1.9.0 120 10/19/2023
1.9.0-preview2 236 10/12/2023
1.9.0-preview1 93 10/12/2023
1.8.9 151 10/11/2023
1.8.8 140 10/11/2023
1.8.7-rc2 100 9/21/2023
1.8.7-rc1 97 9/12/2023
1.8.6 143 8/31/2023
1.8.5 569 8/25/2023
1.8.4 132 8/24/2023
1.8.3 129 8/23/2023
1.8.2 172 8/22/2023
1.8.1 134 8/18/2023
1.8.0 138 8/15/2023
1.7.9 160 8/11/2023
1.7.8 134 8/11/2023
1.7.7 147 8/10/2023
1.7.6 142 8/9/2023
1.7.5 167 8/9/2023
1.7.4 182 8/3/2023
1.7.3 150 8/1/2023
1.7.2 149 7/31/2023
1.7.1 141 7/27/2023
1.7.0 152 7/25/2023
1.6.9 151 7/25/2023
1.6.8 138 7/24/2023
1.6.7 154 7/20/2023
1.6.6 153 7/19/2023
1.6.5 119 7/19/2023
1.6.4 139 7/17/2023
1.6.3 136 7/17/2023
1.6.2 156 7/12/2023
1.6.1 157 6/30/2023
1.6.0 139 6/30/2023