19 lines
697 B
C#

namespace GFramework.Core.Abstractions.Cqrs;
/// <summary>
/// 表示处理单个 CQRS 请求的处理器契约。
/// </summary>
/// <typeparam name="TRequest">请求类型。</typeparam>
/// <typeparam name="TResponse">响应类型。</typeparam>
public interface IRequestHandler<in TRequest, TResponse>
where TRequest : IRequest<TResponse>
{
/// <summary>
/// 处理指定请求并返回结果。
/// </summary>
/// <param name="request">要处理的请求。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>请求结果。</returns>
ValueTask<TResponse> Handle(TRequest request, CancellationToken cancellationToken);
}