Sparkdo.EventBus
1.0.2-preview.1
.NET 10.0
This package targets .NET 10.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
This is a prerelease version of Sparkdo.EventBus.
dotnet add package Sparkdo.EventBus --version 1.0.2-preview.1
NuGet\Install-Package Sparkdo.EventBus -Version 1.0.2-preview.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.EventBus" Version="1.0.2-preview.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.EventBus" Version="1.0.2-preview.1" />
<PackageReference Include="Sparkdo.EventBus" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.EventBus --version 1.0.2-preview.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sparkdo.EventBus, 1.0.2-preview.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.EventBus@1.0.2-preview.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.EventBus&version=1.0.2-preview.1&prerelease
#tool nuget:?package=Sparkdo.EventBus&version=1.0.2-preview.1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sparkdo EventBus
Sparkdo 事件总线实现库,提供本地和分布式事件发布/订阅功能。
功能概述
该库实现了事件总线模式,支持本地事件和分布式事件的发布与订阅处理:
IEventBus: 事件总线核心接口实现ILocalEventBus: 本地事件总线实现IDistributedEventBus: 分布式事件总线实现- 事件处理器工厂和事件处理器管理
- 工作单元集成支持
主要特性
- 发布/订阅模式: 支持事件的发布和订阅处理
- 本地和分布式支持: 支持本地事件和分布式事件
- 工作单元集成: 支持在工作单元完成时发布事件
- 灵活的订阅机制: 支持多种事件订阅方式
- 多租户支持: 集成多租户上下文管理
- AOT兼容: 支持.NET的AOT编译
核心组件
EventBusBase
事件总线基类,提供事件发布和订阅的核心实现:
PublishAsync: 发布事件Subscribe: 订阅事件Unsubscribe: 取消订阅事件UnsubscribeAll: 取消订阅所有事件
SparkdoEventBusModule
事件总线模块类,负责注册事件总线相关服务:
- 注册事件处理器
- 配置本地和分布式事件总线
- 初始化后台工作者
使用示例
// 订阅事件
eventBus.Subscribe<MyEvent>(async eventData => {
// 处理事件
await HandleEventAsync(eventData);
});
// 发布事件
await eventBus.PublishAsync(new MyEvent { Message = "Hello World" });
相关项目
- Sparkdo.EventBus.Abstractions: 事件总线抽象接口定义
- Sparkdo.EventBus.Local: 本地事件总线实现
- Sparkdo.EventBus.Distributed: 分布式事件总线实现
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.BackgroundWorkers (>= 1.0.2-preview.1)
- Sparkdo.DistributedLocking.Abstractions (>= 1.0.2-preview.1)
- Sparkdo.EventBus.Abstractions (>= 1.0.2-preview.1)
- Sparkdo.IdGeneration (>= 1.0.2-preview.1)
- Sparkdo.MultiTenancy.Abstractions (>= 1.0.2-preview.1)
- Sparkdo.Timing (>= 1.0.2-preview.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Text.Json (>= 10.0.0)
- TimeZoneConverter (>= 7.2.0)
-
net10.0
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.BackgroundWorkers (>= 1.0.2-preview.1)
- Sparkdo.DistributedLocking.Abstractions (>= 1.0.2-preview.1)
- Sparkdo.EventBus.Abstractions (>= 1.0.2-preview.1)
- Sparkdo.IdGeneration (>= 1.0.2-preview.1)
- Sparkdo.MultiTenancy.Abstractions (>= 1.0.2-preview.1)
- Sparkdo.Timing (>= 1.0.2-preview.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
- TimeZoneConverter (>= 7.2.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Sparkdo.EventBus:
| Package | Downloads |
|---|---|
|
Sparkdo.Ddd.Domain
Sparkdo DDD 领域模型库,提供领域驱动设计的核心组件实现 |
|
|
Sparkdo.Users.Abstractions
Sparkdo 用户管理抽象库,提供用户管理功能的核心接口定义和事件定义 |
|
|
Sparkdo.EventBus.Kafka
Sparkdo Kafka 事件总线实现,提供基于 Kafka 的分布式事件发布和订阅功能 |
|
|
Sparkdo.EventBus.RabbitMQ
Sparkdo RabbitMQ 事件总线实现,提供基于 RabbitMQ 的分布式事件发布和订阅功能 |
|
|
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 |
|---|---|---|
| 1.0.2-preview.1 | 152 | 12/4/2025 |
| 1.0.1 | 898 | 11/27/2025 |
| 1.0.0 | 889 | 11/25/2025 |
| 1.0.0-preview.5 | 102 | 10/24/2025 |