---
title: SAIF.NetCore.ServiceExtensions API reference
summary: Index of all public types in this library.
status: draft
owner: Framework.NCore maintainers
last_reviewed: 2026-10-02
library: SAIF.NetCore.ServiceExtensions
reference_type: package
---

# SAIF.NetCore.ServiceExtensions API reference

This page lists all public types exposed by `SAIF.NetCore.ServiceExtensions`. Each type links to its full API reference page.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [IServiceCollectionExtensions](SAIF.NetCore.Services.Extensions/IServiceCollectionExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | Core DI registration surface — 14 extension methods wiring environment clients, auth, OIDC, logging, error handling, and Windows-service services. |
| [IAppBuilderExtensions](SAIF.NetCore.Services.Extensions/IAppBuilderExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | `IApplicationBuilder` extensions that finish logger configuration and wire the error-handling/debug-request middleware. |
| [IWebHostBuilderExtensions](SAIF.NetCore.Services.Extensions/IWebHostBuilderExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | `IWebHostBuilder` wrappers that register an environment client before `Startup.ConfigureServices` runs. |
| [IHostBuilderExtensions](SAIF.NetCore.Services.Extensions/IHostBuilderExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | Builds console-hosted applications, with or without the full SAIF service stack. |
| [OpenTelemetryExtensions](SAIF.NetCore.Services.Extensions/OpenTelemetryExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | Composes OpenTelemetry logging/metrics/tracing and conditional OTLP export for both `IHostBuilder` and `IHostApplicationBuilder`. |
| [OpenTelemetryOptions](SAIF.NetCore.Services.Extensions/OpenTelemetryOptions.md) | Class | `SAIF.NetCore.Services.Extensions` | Code-only options POCO consumed by `OpenTelemetryExtensions.ConfigureOpenTelemetry`. |
| [IConfigurationExtensions](SAIF.NetCore.Services.Extensions/IConfigurationExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | Public `IConfiguration` helpers for required/optional/try-pattern key lookups, exposed to consumers — not used internally. |
| [ControllerBaseExtensions](SAIF.NetCore.Services.Extensions/ControllerBaseExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | 24 `Throw*` helpers that convert controller-action failures into `HttpStatusCodeException`s for `DynamicErrorHandler` to catch. |
| [IWindowsServiceErrorHandlerExtensions](SAIF.NetCore.Services.Extensions/IWindowsServiceErrorHandlerExtensions.md) | Class | `SAIF.NetCore.Services.Extensions` | Fluent helpers for registering special error actions and shutdown-exempt exception types on a Windows-service error handler. |
| [ConsoleAsyncBase](SAIF.NetCore.Services.Extensions/ConsoleAsyncBase.md) | Class | `SAIF.NetCore.Services.Extensions` | Abstract `IHostedService` base providing header/footer logging and run-timing for asynchronous console applications. |
| [ConsoleBase](SAIF.NetCore.Services.Extensions/ConsoleBase.md) | Class | `SAIF.NetCore.Services.Extensions` | Abstract synchronous console-application base (Initialize/Execute/Finish) built on `ConsoleAsyncBase`. |
| [AuthenticationChallengeType](SAIF.NetCore.Services.Extensions/AuthenticationChallengeType.md) | Enum | `SAIF.NetCore.Services.Extensions` | Selects whether a web app challenges with Cookie or OpenIdConnect authentication. |
| [DynamicErrorHandler](SAIF.NetCore.Services.Extensions.Middleware/DynamicErrorHandler.md) | Class | `SAIF.NetCore.Services.Extensions.Middleware` | Factory-activated exception-handling middleware that dispatches to a single `IErrorHandler` plus any registered `IErrorHandlerHook`s. |
| [DebugRequestHandler](SAIF.NetCore.Services.Extensions.Middleware/DebugRequestHandler.md) | Class | `SAIF.NetCore.Services.Extensions.Middleware` | Logs every request's identity/host/track context and web-request details at Debug level. |
| [LegacyBolAuthMiddleware](SAIF.NetCore.Services.Extensions.Middleware/LegacyBolAuthMiddleware.md) | Class | `SAIF.NetCore.Services.Extensions.Middleware` | Presence-only legacy BOL cookie gate; registered by a feature flag but never wired into any pipeline by this library. |
| [AspNetSessionIdMiddleware](SAIF.NetCore.Services.Extensions.Middleware/AspNetSessionIdMiddleware.md) | Class | `SAIF.NetCore.Services.Extensions.Middleware` | Presence-only `ASP.NET_SessionId` cookie gate, wired into `AppStartup`'s pipeline when session middleware is enabled. |
| [AppStartup](SAIF.NetCore.Services.Extensions.Startup/AppStartup.md) | Class | `SAIF.NetCore.Services.Extensions.Startup` | Abstract Startup base for external/internal web applications; selects the OIDC or Core-API auth stack from `ASPNETCORE_HOST_LOCATION`. |
| [HostLocation](SAIF.NetCore.Services.Extensions.Startup/HostLocation.md) | Enum | `SAIF.NetCore.Services.Extensions.Startup` | Classifies a web host as `NotDefined`, `Internal`, or `External` for `AppStartup`'s auth-stack selection. |
| [OidcMvcStartup](SAIF.NetCore.Services.Extensions.Startup/OidcMvcStartup.md) | Class | `SAIF.NetCore.Services.Extensions.Startup` | `AppStartup` specialization that wires MVC controllers with views and the default controller route. |
| [OidcRazorStartup](SAIF.NetCore.Services.Extensions.Startup/OidcRazorStartup.md) | Class | `SAIF.NetCore.Services.Extensions.Startup` | `AppStartup` specialization that wires Razor Pages. |
| [BaseApiStartup](SAIF.NetCore.Services.Extensions.Startup/BaseApiStartup.md) | Class | `SAIF.NetCore.Services.Extensions.Startup` | Shared API-startup building blocks (buffering, error/debug middleware, Pingable controller) consumed by `CoreAPIStartup` and `EdgeAPIStartup`. |
| [CoreAPIStartup](SAIF.NetCore.Services/CoreAPIStartup.md) | Class | `SAIF.NetCore.Services` | Startup base for internal (Core) APIs; dual JWT/Negotiate auth, DB connection client, opt-in secure environment client. |
| [EdgeAPIStartup](SAIF.NetCore.Services/EdgeAPIStartup.md) | Class | `SAIF.NetCore.Services` | Startup base for external (Edge) APIs; JWT-bearer-only auth, always a non-secure environment client. |
| [JwtControllerBase](Global/JwtControllerBase.md) | Class | *(global)* | Abstract API controller base exposing JWT-claim helpers (`GetUsernameFromClaim`, `GetAuthTimeFromClaim`). |

## Related documentation
- [Index](../index.md)
- [Overview](../overview.md)
- [Architecture](../architecture.md)
- [Dependencies](../dependencies.md)
- [Configuration](../configuration.md)
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Security and authorization](../security-authorization.md)
- [Service registration](../service-registration.md)

## Sources
- `src/SAIF.NetCore.ServiceExtensions/SAIF.NetCore.ServiceExtensions/SAIF.NetCore.ServiceExtensions/` (all production `.cs` files listed in the type pages' own Sources sections)
