Async.Prism.Events.Extensions
1.0.2
dotnet add package Async.Prism.Events.Extensions --version 1.0.2
NuGet\Install-Package Async.Prism.Events.Extensions -Version 1.0.2
<PackageReference Include="Async.Prism.Events.Extensions" Version="1.0.2" />
<PackageVersion Include="Async.Prism.Events.Extensions" Version="1.0.2" />
<PackageReference Include="Async.Prism.Events.Extensions" />
paket add Async.Prism.Events.Extensions --version 1.0.2
#r "nuget: Async.Prism.Events.Extensions, 1.0.2"
#:package Async.Prism.Events.Extensions@1.0.2
#addin nuget:?package=Async.Prism.Events.Extensions&version=1.0.2
#tool nuget:?package=Async.Prism.Events.Extensions&version=1.0.2
Prism.Events.Extensions
Prism.Events.Extensions adds high-performance synchronous events and awaitable asynchronous events to the Prism event aggregator. It keeps Prism's event-based programming model while reducing the dispatch overhead and temporary allocations associated with PubSubEvent.
This is an independent extension package and is not an official PrismLibrary package.
Purpose
The library addresses two separate needs:
- Lower-overhead publication.
LightweightPubSubEventandLightweightPubSubEvent<TPayload>are alternatives to Prism'sPubSubEventtypes for frequently published events. Their normal publish path avoids per-subscriber execution-strategy delegates, payload boxing, and a newly allocated strategy list on every publication. This reduces time spent dispatching events and the amount of short-lived garbage the GC must collect. - Asynchronous subscribers with observable completion.
AsyncPubSubEventandAsyncPubSubEvent<TPayload>accept callbacks returningValueTask. Publishers can useSendto await subscribers and observe their exceptions, orPublishfor fire-and-forget delivery. These events share the typed, pooled dispatch design; their main purpose is async support, not to outperform the synchronous lightweight events.
Install
dotnet add package Async.Prism.Events.Extensions
Documentation
See the repository README for usage examples, performance details, benchmarks, and delivery semantics.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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. |
-
net10.0
- Prism.Events (>= 9.0.537)
-
net8.0
- Prism.Events (>= 9.0.537)
-
net9.0
- Prism.Events (>= 9.0.537)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.