Sparkdo.EventBus
2.0.0-preview.2
dotnet add package Sparkdo.EventBus --version 2.0.0-preview.2
NuGet\Install-Package Sparkdo.EventBus -Version 2.0.0-preview.2
<PackageReference Include="Sparkdo.EventBus" Version="2.0.0-preview.2" />
<PackageVersion Include="Sparkdo.EventBus" Version="2.0.0-preview.2" />
<PackageReference Include="Sparkdo.EventBus" />
paket add Sparkdo.EventBus --version 2.0.0-preview.2
#r "nuget: Sparkdo.EventBus, 2.0.0-preview.2"
#:package Sparkdo.EventBus@2.0.0-preview.2
#addin nuget:?package=Sparkdo.EventBus&version=2.0.0-preview.2&prerelease
#tool nuget:?package=Sparkdo.EventBus&version=2.0.0-preview.2&prerelease
Sparkdo.EventBus
Sparkdo.EventBus 是独立的进程内事件产品域。它提供精确事件类型路由、提交生命周期阶段、可取消异步处理、顺序或并发执行,以及基于 DI 的处理器生命周期管理。
当前版本只处理同一进程内的事件,不提供分布式传输、Outbox、Inbox、后台可靠投递或跨进程确认。领域层只依赖 Sparkdo.EventBus.Abstractions;需要运行时接线时引用 Sparkdo.EventBus。
最小接入
services.UseEventBus(eventBus =>
{
eventBus.AddHandler<OrderCreatedHandler, OrderCreated>();
eventBus.AddHandler<IndexOrderHandler, OrderCreated>(EventPhase.AfterCommit);
});
默认按注册顺序顺序执行。需要并发时显式配置:
services.UseEventBus(eventBus =>
{
eventBus.Configure(options => options.PublishMode = EventPublishMode.Concurrent);
});
发布器在应用作用域内解析,处理器默认按 scoped 生命周期创建。没有匹配处理器的事件视为成功;处理器异常和取消异常原样传播,不包装为 EventBus 异常。
产品域文档
domain-contract.md:职责、包拓扑和跨域边界。api-usage.md:最小接入、阶段发布和执行模式。extension-points.md:静态贡献、DI 替换和处理器注册。runtime-semantics.md:精确路由、顺序、并发、取消和异常语义。diagnostics.md:配置错误和运行时排障路径。verification.md:solution、测试、pack 和真实 package consumer 门禁。
验证
dotnet test src/event-bus/Sparkdo.EventBus.slnx -c Release -p:UseSharedCompilation=false -nr:false
dotnet build src/event-bus/Sparkdo.EventBus.slnx -c Release -p:UseSharedCompilation=false -nr:false
dotnet pack src/event-bus/Sparkdo.EventBus.slnx -c Release -p:UseSharedCompilation=false -nr:false
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Sparkdo.EventBus.Abstractions (>= 2.0.0-preview.2)
- Sparkdo.Manifest (>= 2.0.0-preview.2)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Sparkdo.EventBus:
| Package | Downloads |
|---|---|
|
Sparkdo.Ddd.Domain
Sparkdo DDD 领域模型库,提供领域驱动设计的核心组件实现 |
|
|
Sparkdo.EventBus.RabbitMQ
Sparkdo RabbitMQ 事件总线实现,提供基于 RabbitMQ 的分布式事件发布和订阅功能 |
|
|
Sparkdo.Users.Abstractions
Sparkdo 用户管理抽象库,提供用户管理功能的核心接口定义和事件定义 |
|
|
Sparkdo.EventBus.Kafka
Sparkdo Kafka 事件总线实现,提供基于 Kafka 的分布式事件发布和订阅功能 |
|
|
Sparkdo.EventBus.StackExchangeRedis
Sparkdo 基于 StackExchange.Redis 的分布式事件总线实现,使用 Redis 的 Pub/Sub 机制实现分布式事件的发布和订阅功能 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.2 | 44 | 7/20/2026 |
| 1.0.4-preview.3 | 189 | 6/8/2026 |
| 1.0.4-preview.2 | 192 | 6/7/2026 |
| 1.0.4-preview.1 | 185 | 6/7/2026 |
| 1.0.3 | 425 | 6/6/2026 |
| 1.0.3-preview.1 | 182 | 5/17/2026 |
| 1.0.2 | 344 | 4/27/2026 |
| 1.0.2-preview.5 | 108 | 4/15/2026 |
| 1.0.2-preview.4 | 109 | 2/8/2026 |
| 1.0.2-preview.3 | 121 | 2/1/2026 |
| 1.0.2-preview.2 | 141 | 1/31/2026 |
| 1.0.2-preview.1 | 219 | 12/4/2025 |
| 1.0.1 | 988 | 11/27/2025 |
| 1.0.0 | 948 | 11/25/2025 |
| 1.0.0-preview.5 | 167 | 10/24/2025 |