SuperAPI AI 工具集

wolverine

通用与其它

查看项目

更新于 10-15 22:40

技能介绍

用途:WolverineFx 是 .NET 运行时,用于命令执行与消息处理。同一套心智模型覆盖多种场景:一个方法处理一条消息,其余只是消息来源与成功后的动作。可用于进程内中介者(比 MediatR 更少仪式)、本地消息总线(内存队列,可选持久化)、分布式消息(RabbitMQ、Azure Service Bus、SQS/SNS、Kafka、NATS、Pulsar、MQTT、Redis、GCP Pub/Sub、PostgreSQL、SQL Server 等)、HTTP 端点(WolverineFx.Http 将方法暴露为 ASP.NET Core 端点)、持久化消息(基于 Marten、EF Core 或 RavenDb 的收件箱/发件箱)、Saga/流程管理器,以及 CQRS 与事件溯源(经 Marten)。多数特性同样适用于普通命令/事件驱动服务、模块化单体、垂直切片 Web 应用、后台工作进程与 ETL 管道。

主要能力:IMessageBus 是运行时唯一入口,支持 InvokeAsync(立即执行并等待结果)、SendAsync(需至少一个订阅者)、PublishAsync(即发即忘,允许零订阅者)、ScheduleAsync(延迟)。处理器是公共类上名为 Handle/HandleAsync/Consume/ConsumeAsync 的公共方法,类名以 Handler 或 Consumer 结尾,或标记 [WolverineHandler]/[IWolverineHandler];首参为消息,其余由 DI 注入。返回值可为级联消息、副作用或存储动作。

使用方式:在 .NET Generic Host 上配置 WolverineOptions,例如 builder.Host.UseWolverine(opts => { ... }),并用 app.RunJasperFxCommands(args) 启用 CLI 命令。诊断命令包括 dotnet run -- describe、codegen preview、codegen write、check-env、resources setup。

限制与注意:热路径不使用运行时反射,启动时生成适配器;IoC 需透明,避免不透明 lambda 工厂;处理器类型、方法、消息类型及 FluentValidation 验证器必须为 public;默认只扫描应用程序集,其他程序集需 [assembly: WolverineModule] 或 opts.Discovery.IncludeAssembly(...);生成代码不会自动重新生成;InvokeAsync 仅自动应用重试策略,忽略 Requeue、Discard、MoveToErrorQueue、PauseThenRequeue;SendAsync 无订阅者时抛 IndicatesNoHandlersException;即发即忘默认仅在内存中,需启用发件箱保证持久投递;使用 AutoApplyTransactions 或 [Transactional] 时不要重复提交;本地队列默认按消息类型路由到进程内队列,需同步语义时用 InvokeAsync。资料未提供收费、价格与平台信息。