You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:54:53