EventHighway.EventHandlers 2.2.0

dotnet add package EventHighway.EventHandlers --version 2.2.0
                    
NuGet\Install-Package EventHighway.EventHandlers -Version 2.2.0
                    
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="EventHighway.EventHandlers" Version="2.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EventHighway.EventHandlers" Version="2.2.0" />
                    
Directory.Packages.props
<PackageReference Include="EventHighway.EventHandlers" />
                    
Project file
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 EventHighway.EventHandlers --version 2.2.0
                    
#r "nuget: EventHighway.EventHandlers, 2.2.0"
                    
#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 EventHighway.EventHandlers@2.2.0
                    
#: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=EventHighway.EventHandlers&version=2.2.0
                    
Install as a Cake Addin
#tool nuget:?package=EventHighway.EventHandlers&version=2.2.0
                    
Install as a Cake Tool

EventHighway

BUILD Nuget Nuget The Standard - COMPLIANT The Standard The Standard Community

0 - EventHighway.EventHandlers

EventHighway.EventHandlers provides ready-made IEventHandler implementations for EventHighway — a Standard-Compliant .NET library for event-driven programming. Instead of implementing the IEventHandler contract yourself, use the handlers in this package and plug in your own logic.

1 - How It Works

1.1 - DelegateEventHandler

DelegateEventHandler wraps any delegate of the shape Func<string, CancellationToken, ValueTask<EventHandlerResult>> in a fully Standard-compliant event handler — validation, exception mapping and categorization are all handled for you:

IEventHandler handler = new DelegateEventHandler(
    someStableHandlerId,
    (content, cancellationToken) => ValueTask.FromResult(
        new EventHandlerResult { IsSuccess = true, ResponseCode = "200" }),
    name: "Students Handler");

eventHighway.RegisterEventHandler(handler);
  • Id — a stable Guid identifying the handler; event listeners subscribe to it by this HandlerId, so keep it constant across restarts and deployments.
  • handler — your delegate; it receives the raw event content and a cancellation token, and returns an EventHandlerResult.
  • name — optional; defaults to DelegateEventHandler. Every handler registered with a client must have a unique name, so supply one when registering more than one delegate handler.

Exceptions thrown by your delegate are caught and re-thrown as one of the marker-interface exceptions EventHighway uses to categorize failures in its delivery records:

1.2 - Packaging Your Delegate as a Client Library

Your delegate can live directly in your domain, or ship as a small per-integration satellite library that exposes a delegate-compatible client — a class with a method matching the delegate signature above. The consuming application then wires that method into a DelegateEventHandler, keeping the handler identity (Id and name) on the application side:

services.AddJoesRestApiDelegateClient(configuration);

// later, when registering handlers:
IEventHandler handler = new DelegateEventHandler(
    joesHandlerId,
    joesRestApiDelegateClient.PostToJoesRestApiAsync,
    name: "Joes REST API");

See EventHighway.EventHandlers.Delegates.JoesRestApi for a complete sample of the packaged pattern.

2 - Installation

dotnet add package EventHighway.EventHandlers
Package Description
EventHighway The core event-driven engine (NuGet)
EventHighway.Abstractions The IEventHandler and IStorageBrokerProvider contracts this package implements (NuGet)
EventHighway.SqlServer SQL Server storage provider (NuGet)
EventHighway.PostgreSql PostgreSQL storage provider (NuGet)

4 - Standard-Compliance

This library was built according to The Standard. The library follows engineering principles, patterns and tooling as recommended by The Standard.

This library is also a community effort which involved many nights of pair-programming, test-driven development and in-depth exploration research and design discussions.


5 - Standard-Promise

The most important fulfillment aspect in a Standard compliant system is aimed towards contributing to people, its evolution, and principles. An organization that systematically honors an environment of learning, training, and sharing knowledge is an organization that learns from the past, makes calculated risks for the future, and brings everyone within it up to speed on the current state of things as honestly, rapidly, and efficiently as possible.

We believe that everyone has the right to privacy, and will never do anything that could violate that right. We are committed to writing ethical and responsible software, and will always strive to use our skills, coding, and systems for the good. We believe that these beliefs will help to ensure that our software(s) are safe and secure and that it will never be used to harm or collect personal data for malicious purposes.

The Standard Community as a promise to you is in upholding these values.


6 - Important Notice and Acknowledgements

A special thanks to all the community members, and the following dedicated engineers for their hard work and dedication to this project.

Mr. Hassan Habib

Mr. Christo du Toit

Mr.Ahmad Salim

Mr.Greg Hays

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.0 83 7/18/2026

Ready-made IEventHandler implementations for EventHighway V2:
* Delegate-based handlers — invoke in-process delegates directly, bypassing HTTP entirely.