第一步 引入NuGet安装该包 MediatR(新版就可以)
第二步 服务注入
builder.Services.AddMediatR(cfg =>
{
cfg.RegisterServicesFromAssemblyContaining<Program>();
});
说明:
MediatR 有两种消息进行分发:
请求/响应消息,分配到一个处理程序
通知消息,分发给多个处理程序
下面是第一种请求/响应消自进行分发:
1、定义一个消息
public class Ping:IRequest
{
}
2、定义一个类处理程序
public class PingHandler:IRequestHandler<Ping,string>
{
public Task
{
return Task.FromResult("我是消息");
}
}
3、在控制器中方法中
IMediatr _mediatr;
public async Task
{
var res=await _mediatr.Send(new Ping());
return res;
//简写 return await _mediatr.Send(new Ping());
}