.NET 事件总线 Jaina v2.0.1 发布
本期更新
- [新增] 消息 Id 支持枚举类型
- [改进] 简化发布消息方法
- [修正] 消息重复消费问题
Jaina
.NET 事件总线,简化项目、类库、线程、服务等之间的通信,代码更少,质量更好。
特性
- 简化组件之间通信
- 支持事件监视器
- 支持动作执行器
- 支持自定义消息存储组件
- 支持自定义策略执行
- 支持单消费、多消费消息
- 支持消息幂等性处理
- 高内聚,低耦合,使代码更简单
- 非常快速,每秒可处理
30000 +
消息 - 很小,仅
10KB
- 无第三方依赖
- 可在
Windows/Linux/MacOS
守护进程部署 - 支持分布式、集群
- 高质量代码和良好单元测试
安装
Install-Package Jaina
dotnet add package Jaina
快速入门
我们在主页上有不少例子,这是让您入门的第一个:
- 定义事件订阅者
ToDoEventSubscriber
:
// 实现 IEventSubscriber 接口 public class ToDoEventSubscriber : IEventSubscriber { private readonly ILogger<ToDoEventSubscriber> _logger; public ToDoEventSubscriber(ILogger<ToDoEventSubscriber> logger) { _logger = logger; } [EventSubscribe("ToDo:Create")] // 支持多个 [EventSubscribe(YourEnum.Message)] // 支持枚举 public async Task CreateToDo(EventHandlerExecutingContext context) { var todo = context.Source; _logger.LogInformation("创建一个 ToDo:{Name}", todo.Payload); await Task.CompletedTask; } }
- 创建控制器
ToDoController
,依赖注入IEventPublisher
服务:
public class ToDoController : ControllerBase { // 依赖注入事件发布者 IEventPublisher private readonly IEventPublisher _eventPublisher; public ToDoController(IEventPublisher eventPublisher) { _eventPublisher = eventPublisher; } // 发布 ToDo:Create 消息 public async Task CreateDoTo(string name) { await _eventPublisher.PublishAsync(new ChannelEventSource("ToDo:Create", name)); // 简化版本 await _eventPublisher.PublishAsync("ToDo:Create", name); } }
- 在
Startup.cs
注册EventBus
服务:
// 注册 EventBus 服务 services.AddEventBus(builder => { // 注册 ToDo 事件订阅者 builder.AddSubscriber<ToDoEventSubscriber>(); // 批量注册事件订阅者 builder.AddSubscribers(ass1, ass2, ....); });
- 运行项目:
info: Jaina.Samples.ToDoEventSubscriber[0] 创建一个 ToDo:Jaina
文档
您可以在主页找到 Jaina 文档。
贡献
该存储库的主要目的是继续发展 Jaina 核心,使其更快、更易于使用。Jaina 的开发在 Gitee 上公开进行,我们感谢社区贡献错误修复和改进。
许可证
Jaina 采用 MulanPSL-2.0 开源许可证。
Copyright (c) 2020-2021 百小僧, Baiqian Co.,Ltd. Jaina is licensed under Mulan PSL v2. You can use this software according to the terms andconditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: https://gitee.com/dotnetchina/Jaina/blob/master/LICENSE THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUTWARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CodeMirror 6.0 稳定版发布
CodeMirror 是一款浏览器端代码编辑器,基于 Javascript,短小精悍,实时在线代码高亮显示,他不是某个富文本编辑器的附属产品,他是许多大名鼎鼎的在线代码编辑器的基础库。如今它发布了6.0稳定版本,该版本是从头进行的重写,在性能和可维护性上都有诸多改善。 CodeMirror 6是一个新的Web代码编辑器库,是基于过去13年构建和维护1至5版本的经验而从头开始实现的。它的目标是比以前的版本更具有可扩展性和可访问性。 到今天为止,6.0版本已经稳定。今后,可能至少在几年内,所有的新版本都将在6大版本之下,并向后兼容。 这个库已经可用了一年多,而且基本稳定,只有小的破坏性变化。我一般喜欢晚点发布,以避免有太多令人遗憾的错误溜进稳定版,然后不得不无限期地保留在那里。毫无疑问,在一年后的今天,我希望我以不同的方式发布,但通过让用户在生产中使用代码相当长的时间,很多小问题和摩擦的来源都被发现和解决了,然后才被定下来。 这个系统的工作是在四年前开始的,由Prototype基金资助初始工作。在那之后的一年里,它被公开宣布并得到了众筹,在那之后的两年里,它被建成了一个可使用的系统,并在去...
- 下一篇
SmsForwarder (短信转发器) v3.0.0 重磅更新
短信转发器——不仅只转发短信,备用机必备神器! 监控Android手机短信、来电、APP通知,并根据指定规则转发到其他手机:钉钉机器人、企业微信群机器人、飞书机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱、PushPlus、手机短信等。 包括主动控制服务端与客户端,让你轻松远程发短信、查短信、查通话、查话簿、查电量等。(V3.0 新增) 更新日志 重构:采用 Kotlin 全新重构(不是迁移代码) 重构:全新的界面 XUI 实现(略微提升点前端美感) 重构:全新的 HttpServer 实现(采用 AndServer,目前有6个API) 新增:增加 Frpc 支持内网穿透(按需下载 FrpcLib 动态库支持) 新增:主动控制·客户端(界面直接远程发短信等) 新增:保活措施 Cactus(双进程前台服务,JobScheduler,onePix(一像素),WorkManager,无声音乐) 优化:适配 Android 4.4 ~ 12.0 优化:舍弃 emailkit 依赖,直接基于 android-mail 重写 优化:自动...
相关文章
文章评论
共有0条评论来说两句吧...