这样写也可以调用到 ,这就是上面写的 继承不同的类或者接口,一般大多数我都是继承IRequestHandler 。
6、INotification栗子这里我新建了一个Core6.0的WebAPI的工程来演示INotification的运用 。同样的nuget安装MediatR与扩展包MediatR.Extensions.Microsoft.DependencyInjection 。在Program.cs里添加 。这里如果你的命令处理类跟项目在同一个程序集里面就用第二个也可以,如果你是分开的另外建了一个类库写命令查询的直接引用里面随便一个类获取程序集就可以了
//获取该类下的程序集builder.Services.AddMediatR(typeof(Program).Assembly);//获取当前程序集//builder.Services.AddMediatR(Assembly.GetExecutingAssembly()); 这里我们注册了处理多个事件、每个都执行到了 。
using MediatApi.Helper;using MediatApi.Model;using MediatR;using Newtonsoft.Json;namespace MediatApi.Application.Command{ /// <summary> /// 创建订单 /// </summary> public class OrderCreateCommand:INotification { /// <summary> /// Id /// </summary> public long Id { get; set; } /// <summary> /// 订单号 /// </summary> public string? OrderNum { get; set; } /// <summary> /// 订单类型 /// </summary> public string? OrderType { get; set; } /// <summary> /// 创建时间 /// </summary> public DateTime? CreatTime { get; set; } } /// <summary> /// 创建订单处理1 /// </summary> public class OrderCreateCommandHandler : INotificationHandler<OrderCreateCommand> { public Task Handle(OrderCreateCommand notification, CancellationToken cancellationToken) { Order model = new(notification.Id, notification.OrderNum, notification.OrderType, notification.CreatTime); //数据库操作省略 Result ret = new() { Code=200, Message="", Data=https://www.huyubaike.com/biancheng/model }; string retJson=JsonConvert.SerializeObject(ret); Console.WriteLine("11111——————————————订单创建啦!"); return Task.FromResult(retJson); } } ///
推荐阅读
- 常用Python库整理
- 加拿大高中排名 加拿大高中排名
- 定位java程序中占用cpu最高的线程堆栈信息
- jk罗琳中文官网 jk罗琳
- PE管十大品牌有哪些 中国pe管道十大品牌
- SpringCloudAlibaba 微服务组件 Nacos 之配置中心源码深度解析
- 幻塔大眼萌仔怎么获取
- 《正义联盟》中超人是怎么死的
- 正义联盟中超人什么时候死的(正义联盟死去的英雄)
- 王者荣耀娜可露露前尘镜中文语音包怎么设置