CasCap.Api.Azure.EventHub 1.4.3

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

CasCap.Api.Azure.EventHub

Helper library for Azure Event Hub. Provides generic publisher and subscriber base services for streaming events via Event Hubs, with MessagePack serialization.

Services / Extensions

Type Name Description
Interface IEvent Marker interface for Event Hub event objects.
Interface IPublisherService<T> Abstraction for publishing messages to an Event Hub.
Interface ISubscriberService<T> Abstraction for receiving and processing messages from an Event Hub.
Service PublisherService<T> Abstract base implementing IPublisherService<T>. Serializes events via MessagePack and sends them in batches. Supports connection string and TokenCredential authentication.
Service SubscriberService<T> Abstract base implementing ISubscriberService<T>. Uses EventProcessorClient with blob checkpoint storage for reliable event processing. Supports connection string and TokenCredential authentication.

Key Methods — PublisherService<T>

  • Push(T obj) — Serializes and pushes a single event.
  • Push(List<T> objs) — Serializes and pushes a list of events.
  • Push(byte[] bytes) — Pushes a raw byte array as a single event.
  • SendTestMessages(int numMessagesToSend) — Sends test messages to the Event Hub.

Key Methods — SubscriberService<T>

  • InitiateReceive(CancellationToken) — Begins processing events until cancellation.

Class Hierarchy

Publisher/Subscriber pattern for Event Hub streaming:

classDiagram
    direction TB

    IPublisherService~T~ <|.. PublisherService~T~
    ISubscriberService~T~ <|.. SubscriberService~T~

    PublisherService~T~ <|-- YourPublisher
    SubscriberService~T~ <|-- YourSubscriber

    class IEvent {
        <<interface>>
    }

    class IPublisherService~T~ {
        <<interface>>
        +Push(obj) Task
        +Push(objs) Task
        +Push(bytes) Task
    }

    class PublisherService~T~ {
        <<abstract>>
        #EventHubProducerClient Client
        #ILogger Logger
        +Push(obj) Task
        +Push(objs) Task
        +Push(bytes) Task
        +SendTestMessages(count) Task
    }

    class ISubscriberService~T~ {
        <<interface>>
        +InitiateReceive(token) Task
    }

    class SubscriberService~T~ {
        <<abstract>>
        #EventProcessorClient Client
        #ILogger Logger
        +InitiateReceive(token) Task
        #ProcessEventHandler(args) Task
        #ProcessErrorHandler(args) Task
    }

    class YourPublisher {
        +PublishDomainEvent(event) Task
    }

    class YourSubscriber {
        +ProcessDomainEvent(event) Task
    }

    T --|> IEvent : implements
    PublisherService~T~ ..> EventHubProducerClient : uses
    SubscriberService~T~ ..> EventProcessorClient : uses
    PublisherService~T~ ..> MessagePack : serializes
    SubscriberService~T~ ..> MessagePack : deserializes

Usage Pattern:

  1. Define event types implementing IEvent
  2. Inherit from PublisherService<T> for sending
  3. Inherit from SubscriberService<T> for receiving
  4. Override ProcessEventHandler for custom event processing
  5. MessagePack handles serialization automatically

Configuration

No configuration model. Services are constructed directly with connection strings or TokenCredential.

Dependencies

NuGet Packages

Package
Azure.Messaging.EventHubs
Azure.Messaging.EventHubs.Processor
CasCap.Common.Logging
CasCap.Common.Extensions
CasCap.Common.Serialization.MessagePack

Project References

None.

Product 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. 
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
1.4.3 84 4/17/2026
1.4.2 90 4/16/2026
1.4.1 89 4/15/2026
1.4.0 92 4/1/2026
1.3.1 103 3/13/2026
1.3.0 110 3/11/2026
1.2.5 104 2/12/2026
1.2.4 104 2/2/2026
1.2.3 106 1/26/2026
1.2.2 457 12/11/2025
1.2.1 311 11/12/2025
1.1.16 146 10/19/2025
1.1.15 216 10/7/2025
1.1.14 206 9/30/2025
1.1.13 181 9/14/2025
1.1.12 286 8/7/2025
1.1.11 192 7/11/2025
1.1.10 270 4/18/2025
1.1.9 354 1/16/2025
1.1.8 312 1/15/2025
Loading failed