IronAlpine.Framework.Abstractions 2.0.0

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

IronAlpine.Framework.Abstractions

Why

Shared framework contracts used across logging, messaging, web metadata, and observability integrations.

Key Contracts

  • IEventMetadataProvider
  • IEventMetadataAccessor
  • EventMetadataContext
  • ICurrentUser
  • IAuditUser
  • IExecutionModeDetector

Installation

dotnet add package IronAlpine.Framework.Abstractions

Execution Modes

Execution mode detection enables framework packages to adjust runtime behavior safely in EF design-time operations.

Event Metadata

EventMetadataContext carries:

  • TraceId
  • CorrelationId
  • CausationId
  • TenantId
  • transport metadata map

IEventMetadataProvider is the read-only surface used by other packages.

IEventMetadataAccessor is the read/write ambient context contract used by runtime entry points such as HTTP middleware or messaging processors.

Combinations

  • Web.AspNetCore: fills metadata context from HTTP headers/activity.
  • Messaging.*: consumes metadata for envelope/header enrichment and can establish metadata scope while processing a consumed message.
  • Logging.Serilog: enriches logs with correlation fields.
  • Observability.OpenTelemetry: tags spans with metadata.

Troubleshooting

  • If correlation fields are empty, verify middleware order and metadata provider registration.
  • If HTTP-originated events have correlation but event-to-event chains lose causation, verify the messaging runtime is setting IEventMetadataAccessor during inbox processing.

Configuration Deep Dive

When a package exposes options classes, use builder.Configuration binding and keep values explicit per environment.

Common guidance:

  • Prefer explicit values in production.
  • Keep retries/timeouts conservative; tune with telemetry.
  • Enable startup validation in non-development environments.
  • Fail fast when required dependencies are missing.

Integration Patterns

Pattern A: API service with EF + Messaging

  1. Register EF provider package.
  2. Register messaging inbox/outbox package.
  3. Register mediator and behavior order.
  4. Enable health readiness checks for DB and broker.

Pattern B: Read-heavy service with Dapper + Messaging

  1. Register Dapper data package.
  2. Register messaging package with consumer enabled.
  3. Add observability and structured logging.

Pattern C: Security-focused service

  1. Register security ASP.NET package.
  2. Add policy catalog or resolver.
  3. Register authorization EFCore projection package only where needed.

Options Checklist

Use this checklist when configuring any IronAlpine package:

  • Required connection strings present.
  • Feature flags intentional (Enable* values reviewed).
  • Retry and timeout values match SLO expectations.
  • Startup validation behavior understood.
  • Environment-specific defaults are overridden in production.

Troubleshooting Matrix

  • Startup failure with validation error : A required dependency package or config value is missing. Check package registrations and bound options sections.
  • Background workers not starting : Verify execution mode, Enable* flags, and hosted services registration.
  • Policy/authorization mismatch : Check claim types, policy naming strategy, and catalog entries.
  • Cache stale or no-hit behavior : Validate key generation, invalidation path, and distributed lock configuration.
  • Messaging duplicate handling issues : Verify event-id propagation and idempotency key construction.

Best-Practice Notes

  • Keep handler logic deterministic and side-effect boundaries explicit.
  • Keep IQueryable usage inside application handlers/services.
  • Keep transaction save boundaries in handlers where business intent is clear.
  • Prefer explicit topic policy metadata for critical events.
Product Compatible and additional computed target framework versions.
.NET 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.
  • net10.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on IronAlpine.Framework.Abstractions:

Package Downloads
IronAlpine.Data.EFCore

Entity Framework Core implementation for IronAlpine data abstractions with repositories, interceptors, enumeration mapping, and resilience integration.

IronAlpine.Data.EFCore.Mediator

Mediator pipeline behaviors that bridge IronAlpine.Mediator and IronAlpine.Data.EFCore.

IronAlpine.Web.AspNetCore

ASP.NET Core web runtime primitives for exception handling, correlation metadata propagation, and gateway trace synchronization.

IronAlpine.Logging.Serilog

Serilog host integration and mediator logging behavior for IronAlpine applications with metadata enrichment, sink deduplication, and sensitive data masking policies.

IronAlpine.Observability.OpenTelemetry

OpenTelemetry tracing and metrics integration for IronAlpine services with W3C trace context, runtime instrumentation, and OTLP export support.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 1,943 4/2/2026
Loading failed

Stable mediator release with request/response, notification publish strategies, streaming, and dependency injection integration.