- 注册EventBus并使用验证中间件ValidatorMiddleware
- 添加注册用户验证类RegisterUserEventValidator.cs
将注册用户业务拆分为三个Handler,并通过指定Order的值来对执行事件排序
public class UserHandler{ private readonly ILogger<UserHandler>? _logger; public UserHandler(ILogger<UserHandler>? logger = null) { _logger = logger; } [EventHandler(1)] public void RegisterUser(RegisterUserEvent @event) { _logger?.LogDebug("-----------{Message}-----------", "检测用户是否存在并注册用户"); //todo: 编写注册用户业务 } [EventHandler(2)] public void SendAwardByRegister(RegisterUserEvent @event) { _logger?.LogDebug("-----------{Account} 注册成功 {Message}-----------", @event.Account, "发送注册奖励"); //todo: 编写发送奖励等 } [EventHandler(3)] public void SendNoticeByRegister(RegisterUserEvent @event) { _logger?.LogDebug("-----------{Account} 注册成功 {Message}-----------", @event.Account, "发送注册成功邮件"); //todo: 编写发送注册通知等 }}SagaEventBus支持Saga模式

文章插图
具体是怎么做呢?
[EventHandler(1, IsCancel = true)]public void CancelSendAwardByRegister(RegisterUserEvent @event){ _logger?.LogDebug("-----------{Account} 注册成功,发放奖励失败 {Message}-----------", @event.Account, "发放奖励补偿");}
经验总结扩展阅读
- YC-Framework版本更新:V1.0.10
- 从 QFramework 重新开始
- reportportal 集成 robotframework 自动化执行及结果可视化
- MasaFramework -- 缓存入门与设计
- MasaFramework -- 缓存入门与规则配置
- MasaFramework -- 异常处理
- .Net Framework中的AppDomain.AssemblyResolve事件的常见用法、问题,以及解决办法
- net framework 3.5有什么用
- net40是什么
