namespace Dpz.Core.Service.Mediator.Common.Behaviors;
/// <summary>
/// Mediator 管道:记录消息处理开始与结束。
/// </summary>
/// <typeparam name="TMessage">消息类型。</typeparam>
/// <typeparam name="TResponse">响应类型。</typeparam>
public sealed class MediatorLoggingBehavior<TMessage, TResponse>
: IPipelineBehavior<TMessage, TResponse>
where TMessage : IMessage
{
/// <summary>
/// 执行日志管道逻辑。
/// </summary>
public async ValueTask<TResponse> Handle(
TMessage message,
MessageHandlerDelegate<TMessage, TResponse> next,
CancellationToken cancellationToken
)
{
//var messageName = typeof(TMessage).Name;
//logger.LogDebug("[Mediator] Handling message: {MessageName}", messageName);
var response = await next(message, cancellationToken);
//logger.LogDebug("[Mediator] Handled message: {MessageName}", messageName);
return response;
}
}
评论加载中...