Sparkdo.EventBus.Abstractions
1.0.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.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Sparkdo.EventBus.Abstractions --version 1.0.1
NuGet\Install-Package Sparkdo.EventBus.Abstractions -Version 1.0.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.Abstractions" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.EventBus.Abstractions" Version="1.0.1" />
<PackageReference Include="Sparkdo.EventBus.Abstractions" />
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.Abstractions --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sparkdo.EventBus.Abstractions, 1.0.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.Abstractions@1.0.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.Abstractions&version=1.0.1
#tool nuget:?package=Sparkdo.EventBus.Abstractions&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sparkdo EventBus Abstractions
Sparkdo 事件总线抽象库,提供事件发布/订阅模式的核心接口定义。
功能概述
该库定义了事件总线模式的核心抽象接口,包括:
IEventBus: 事件总线核心接口,提供事件发布和订阅功能IEventHandler: 事件处理器标记接口IEventHandlerFactory: 事件处理器工厂接口- 以及其他相关辅助接口和类
主要特性
- 发布/订阅模式: 支持事件的发布和订阅处理
- 本地和分布式支持: 可扩展支持本地事件和分布式事件
- 工作单元集成: 支持在工作单元完成时发布事件
- 灵活的订阅机制: 支持多种事件订阅方式
- AOT兼容: 支持.NET的AOT编译
核心接口
IEventBus
事件总线核心接口,提供以下主要方法:
PublishAsync: 发布事件Subscribe: 订阅事件Unsubscribe: 取消订阅事件UnsubscribeAll: 取消订阅所有事件
IEventHandler
事件处理器标记接口,所有事件处理器都需要实现此接口或其派生接口。
IEventHandlerFactory
事件处理器工厂接口,用于创建和管理事件处理器实例。
使用示例
// 订阅事件
eventBus.Subscribe<MyEvent>(async eventData => {
// 处理事件
await HandleEventAsync(eventData);
});
// 发布事件
await eventBus.PublishAsync(new MyEvent { Message = "Hello World" });
相关项目
- Sparkdo.EventBus: 事件总线的具体实现
- 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.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.ObjectExtending (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Text.Json (>= 10.0.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.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.ObjectExtending (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Sparkdo.EventBus.Abstractions:
| Package | Downloads |
|---|---|
|
Sparkdo.MultiTenancy.Abstractions
Sparkdo 框架的多租户抽象实现。提供多租户功能的核心接口和抽象类定义。 |
|
|
Sparkdo.Data
Sparkdo 数据库连接管理库,提供数据库连接字符串解析、数据过滤等功能 |
|
|
Sparkdo.EventBus
Sparkdo 事件总线实现库,提供本地和分布式事件发布/订阅功能 |
|
|
Sparkdo.Ddd.Domain.Shared
Sparkdo DDD 领域共享库,提供领域驱动设计中的共享内核实现,包括实体、值对象、领域事件等核心组件 |
|
|
Sparkdo.PermissionManagement.Domain.Shared
Sparkdo 权限管理领域共享库,提供权限管理功能的领域共享模型、接口定义和常量 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2-preview.1 | 171 | 12/4/2025 |
| 1.0.1 | 2,255 | 11/27/2025 |
| 1.0.0 | 2,231 | 11/25/2025 |
| 1.0.0-preview.5 | 102 | 10/24/2025 |