mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 新增 stream invoker provider、descriptor 与 dispatcher/registrar 接线 - 更新 source generator 与回归测试,覆盖 generated stream invoker 发射和消费语义 - 更新 CQRS 文档与 ai-plan 恢复点,补充 stream invoker 的接入与验证记录
32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using System.Reflection;
|
|
using GFramework.Cqrs.Abstractions.Cqrs;
|
|
|
|
namespace GFramework.Cqrs;
|
|
|
|
/// <summary>
|
|
/// 描述单个 stream request/response 类型对在运行时建流时需要复用的元数据。
|
|
/// </summary>
|
|
/// <param name="handlerType">当前流式请求处理器在容器中的服务类型。</param>
|
|
/// <param name="invokerMethod">
|
|
/// 执行单个流式请求处理器的开放静态方法。
|
|
/// dispatcher 会在首次创建 stream binding 时,把该方法绑定成内部使用的调用委托。
|
|
/// </param>
|
|
/// <remarks>
|
|
/// dispatcher 仍会负责上下文注入;
|
|
/// 该描述符只前移流式请求处理器服务类型与直接调用方法元数据。
|
|
/// </remarks>
|
|
public sealed class CqrsStreamInvokerDescriptor(
|
|
Type handlerType,
|
|
MethodInfo invokerMethod)
|
|
{
|
|
/// <summary>
|
|
/// 获取流式请求处理器在容器中的服务类型。
|
|
/// </summary>
|
|
public Type HandlerType { get; } = handlerType ?? throw new ArgumentNullException(nameof(handlerType));
|
|
|
|
/// <summary>
|
|
/// 获取执行流式请求处理器的开放静态方法。
|
|
/// </summary>
|
|
public MethodInfo InvokerMethod { get; } = invokerMethod ?? throw new ArgumentNullException(nameof(invokerMethod));
|
|
}
|