mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 修复 CqrsDispatcher 的 pipeline invoker 重复创建,并补齐缓存线程模型文档 - 优化 CQRS 与 generator 回归测试的并发保护和稳定语义断言 - 更新 cqrs-rewrite 跟踪与 trace,记录 RP-062 的 PR review follow-up 验证结果
28 lines
1.1 KiB
C#
28 lines
1.1 KiB
C#
using GFramework.Cqrs.Abstractions.Cqrs;
|
|
|
|
namespace GFramework.Cqrs.Tests.Cqrs;
|
|
|
|
/// <summary>
|
|
/// 作为外层行为验证缓存 executor 复用后仍保持注册顺序。
|
|
/// </summary>
|
|
internal sealed class DispatcherPipelineOrderOuterBehavior : IPipelineBehavior<DispatcherPipelineOrderCacheRequest, int>
|
|
{
|
|
/// <summary>
|
|
/// 记录外层行为的前后执行节点。
|
|
/// </summary>
|
|
/// <param name="request">当前请求。</param>
|
|
/// <param name="next">下一个处理阶段。</param>
|
|
/// <param name="cancellationToken">取消令牌。</param>
|
|
/// <returns>下游处理器结果。</returns>
|
|
public async ValueTask<int> Handle(
|
|
DispatcherPipelineOrderCacheRequest request,
|
|
MessageHandlerDelegate<DispatcherPipelineOrderCacheRequest, int> next,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
DispatcherPipelineOrderState.Record("Outer:Before");
|
|
var result = await next(request, cancellationToken).ConfigureAwait(false);
|
|
DispatcherPipelineOrderState.Record("Outer:After");
|
|
return result;
|
|
}
|
|
}
|