如何在C#控制台应用程序中集成Mediator
如何在C#控制台应用中集成Mediator框架
1. 创建基础控制台项目
先新建一个C#控制台应用,用命令行或Visual Studio均可:
dotnet new console -n MediatorConsoleDemo cd MediatorConsoleDemo
2. 安装必要的NuGet包
需要安装MediatR核心包,以及用于依赖注入的Microsoft.Extensions.DependencyInjection:
dotnet add package MediatR dotnet add package Microsoft.Extensions.DependencyInjection
3. 定义请求与处理程序
先写一个简单的请求类,实现IRequest<T>接口,这里做一个获取问候语的请求:
using MediatR; public record GreetingRequest(string Name) : IRequest<string>;
再写对应的处理程序,实现IRequestHandler<GreetingRequest, string>:
using MediatR; public class GreetingRequestHandler : IRequestHandler<GreetingRequest, string> { public Task<string> Handle(GreetingRequest request, CancellationToken cancellationToken) { return Task.FromResult($"Hello, {request.Name}!"); } }
4. 配置依赖注入并发送请求
修改Program.cs,注册MediatR和处理程序,再通过IMediator发送请求:
using MediatR; using Microsoft.Extensions.DependencyInjection; // 构建服务容器 var services = new ServiceCollection(); // 注册MediatR,扫描当前程序集内的处理程序 services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(typeof(Program).Assembly)); // 构建服务提供者 using var serviceProvider = services.BuildServiceProvider(); // 获取IMediator实例 var mediator = serviceProvider.GetRequiredService<IMediator>(); // 创建并发送请求 var request = new GreetingRequest("Gary"); var result = await mediator.Send(request); // 输出结果 Console.WriteLine(result);
5. 运行程序
执行命令启动应用,就能看到输出的问候语:
dotnet run
内容的提问来源于stack exchange,提问作者gary
相关产品推荐
相关产品推荐

