Skip to content

SAIF.NetCore.ServiceContracts API reference

This page lists all public types exposed by SAIF.NetCore.ServiceContracts. Each type links to its full API reference page. Every type in this library compiles to the single namespace SAIF.NetCore.Services.Contracts; the groupings below are editorial categories only, not separate namespaces.

Types

Core contracts

Type Kind Namespace Purpose
ExternalUser Class SAIF.NetCore.Services.Contracts Carry external-user account flags and lifecycle dates (disable date, last logon, profile update, test-user expiration, email-verification expiration) returned by the SecurityAPI's external-data endpoint.
ExternalUserType Class SAIF.NetCore.Services.Contracts Describe an external user's type code/description and associated customer and credential linkage, plus steward/admin flags.
HttpClientOptions Class SAIF.NetCore.Services.Contracts Hold the default retry/serializer/header-persistence configuration applied to a new IHttpJsonClient.
HttpClientSerializer Enum SAIF.NetCore.Services.Contracts Distinguish between the framework-default serializer and an explicit Newtonsoft.Json opt-in.
IDBConnectionClient Interface SAIF.NetCore.Services.Contracts Resolve a connection string for a named SQL Server, Oracle, or PostgreSQL instance without the caller needing to know credential or connection-string formatting details.
IEnvironmentClient Interface SAIF.NetCore.Services.Contracts Expose plain and secure setting retrieval, both synchronous and asynchronous, typed and string, with or without a section qualifier.
IHttpJsonClient Interface SAIF.NetCore.Services.Contracts Issue synchronous and asynchronous HTTP verb calls (Delete/Get/Patch/Post/Put) that return IHttpRequestResult.
IHttpRequestResult Interface SAIF.NetCore.Services.Contracts Expose the raw response (Content, Headers, StatusCode, StatusDescription, ResponseDate, LastRequestUrl) and error information (ErrorException, ErrorMessage).
IIdentityService Interface SAIF.NetCore.Services.Contracts Expose the current user's identity, claims, and authentication state.
IIdentityServiceAccessor Interface SAIF.NetCore.Services.Contracts Provide a single injection point that resolves to the correct IIdentityService implementation for the current authentication scheme.
ISaifLogService Interface SAIF.NetCore.Services.Contracts Bind a logger instance to its runtime dependencies in a single Configure call before any logging method on ISaifLoggable can be used.
ISaifLoggable Interface SAIF.NetCore.Services.Contracts Provide severity-leveled logging methods (Debug/Info/Warning/Error/Fatal), each with message-only, message-and-exception, and property-value-array overloads, every one returning a log-entry ID for correlation.
ISaifWindowsServiceLogService Interface SAIF.NetCore.Services.Contracts Bind a logger instance to IEnvironmentClient and a logging IHttpJsonClient for non-web (Windows service) hosts.
IStandardErrorLogInfo Interface SAIF.NetCore.Services.Contracts Provide a correlation ID, the error source, message, stack trace, and free-form log details common to both web and Windows-service error logging.
ISystemHashService Interface SAIF.NetCore.Services.Contracts Compute and cache a SHA256-based system hash for a given SystemType/system name*.
IUserGroup Interface SAIF.NetCore.Services.Contracts Describe an AD group's name, security classification, description, distinguished name, and scope.
IUserProfile Interface SAIF.NetCore.Services.Contracts Describe a user's identifier, domain, account-state flags, and group memberships for authorization and display purposes.
IWebErrorLogInfo Interface SAIF.NetCore.Services.Contracts Combine standard error identity with full web-request context into a single loggable shape for web-hosted errors.
IWebRequestLogInfo Interface SAIF.NetCore.Services.Contracts Capture request metadata (URI, method, headers, body, client identity/claims) for logging and diagnostics.
IWindowsServiceError Interface SAIF.NetCore.Services.Contracts Carry the exception instance and its type names alongside the shared IStandardErrorLogInfo fields.
LogLevel Enum SAIF.NetCore.Services.Contracts Classify log entries by severity for threshold filtering and routing.
LoggerType Enum SAIF.NetCore.Services.Contracts Identify which backing log store/channel a log entry targets.
SystemType Enum SAIF.NetCore.Services.Contracts Distinguish host application categories so secure settings and system hashes can be scoped correctly per host type.
UserGroup Class SAIF.NetCore.Services.Contracts Provide a default, directly-constructible implementation of IUserGroup.
UserProfile Class SAIF.NetCore.Services.Contracts Provide a default, directly-constructible implementation of IUserProfile for callers that do not need a custom profile shape.
Type Kind Namespace Purpose
CharacterCasing Enum SAIF.NetCore.Services.Contracts Describe the three casing policies a URL-casing middleware can enforce.
IClaimTransformCacheService Interface SAIF.NetCore.Services.Contracts Record and query whether claim transformation has already been performed for a given subject within the current cache window (governed by IOidcSettings.RoleTransformCacheOffset*).
IDataProtectionCertService Interface SAIF.NetCore.Services.Contracts Retrieve the certificate used to encrypt/decrypt Data Protection keys for this application.
IJwtAuthorizationCookieClaimService Interface SAIF.NetCore.Services.Contracts Persist new or refreshed JWT token values (ID token, access token, expiry) into the current authentication cookie.
IJwtRefreshService Interface SAIF.NetCore.Services.Contracts Exchange a refresh token (plus client credentials) for a new access/ID token pair.
ILoginRedirectService Interface SAIF.NetCore.Services.Contracts Redirect the current request to the configured identity provider login endpoint, optionally carrying additional query-string parameters.
IOidcSettings Interface SAIF.NetCore.Services.Contracts Expose every OIDC/cookie/data-protection setting needed to configure the OIDC authentication pipeline in one contract, including an indexer for ad hoc key lookups.
IRoleClaimService Interface SAIF.NetCore.Services.Contracts Add role claims of a specified claim type to an authenticated principal.
IUrlCaseService Interface SAIF.NetCore.Services.Contracts Normalize or validate the casing of the current request's URL according to a configured CharacterCasing policy.
JwtSet Class SAIF.NetCore.Services.Contracts Carry a refreshed token pair and its expiration back to the caller for cookie or header updates.
OidcAppCredentials Struct SAIF.NetCore.Services.Contracts Parse and validate a clientId\|clientSecret formatted string into two readonly fields usable by OIDC client-registration code.

Web error handling contracts

Type Kind Namespace Purpose
ExceptionEnum Enum SAIF.NetCore.Services.Contracts Let an IErrorHandlerHook implementation branch its handling logic based on the exception's category without a full type check.
HttpStatusCodeException Class SAIF.NetCore.Services.Contracts Let throwing code specify exactly which HTTP status code and content type the web error handler should return for this error.
IErrorHandleable Interface SAIF.NetCore.Services.Contracts Mark a service as an injectable error-handling hook so DynamicErrorHandler can discover and invoke it.
IErrorHandlerHook Interface SAIF.NetCore.Services.Contracts Receive error context (exception category, HttpContext, exception, status code, and accumulated log details) and perform custom handling logic.
SAIFException Class SAIF.NetCore.Services.Contracts Serve as the common base type for application-level exceptions thrown by implementation libraries.

Windows service error handling contracts

Type Kind Namespace Purpose
BeginErrorHandlingEventArgs Class SAIF.NetCore.Services.Contracts Let a BeginErrorHandling subscriber inspect the exception/context and optionally mark the error as already handled or suppress special actions.
BeginHandlingEvent Delegate SAIF.NetCore.Services.Contracts Define the callback shape subscribers must implement to observe/modify the start of Windows-service error handling.
ErrorHandledEvent Delegate SAIF.NetCore.Services.Contracts Define the callback shape subscribers must implement to observe the final outcome of Windows-service error handling.
ErrorHandledEventArgs Class SAIF.NetCore.Services.Contracts Carry the final outcome of error handling (exception, handled flag, special-action results, and context) to ErrorHandled subscribers; the constructor assigns the supplied references as get-only properties without deep-copying them.
IErrorContextContainer Interface SAIF.NetCore.Services.Contracts Let error-handling code attach and later retrieve arbitrary context objects, either anonymously or by key.
IServiceTaskRunner Interface SAIF.NetCore.Services.Contracts Let a Windows service define a single long-running, cancellable background task with a display title.
ISpecialErrorAction Interface SAIF.NetCore.Services.Contracts Let a Windows service register custom remediation/notification logic that runs in response to specific errors.
ISpecialErrorAction Interface SAIF.NetCore.Services.Contracts Let a special error action declare, via its generic parameter, which specific exception type it is meant to handle, without changing its runtime contract.
IWindowsServiceErrorHandler Interface SAIF.NetCore.Services.Contracts Drive a Windows service's error-handling pipeline: run configured special actions, honor shutdown-exempt exception types, and notify subscribers before and after handling.
ShutdownExemptExceptionType Class SAIF.NetCore.Services.Contracts Let a Windows service declare that errors of a specific exception type should not shut the service down, optionally narrowed by a predicate over the exception instance.
SigningKeyCacheStatus Enum SAIF.NetCore.Services.Contracts Describe the cache state of a signing-key lookup (intended for JWT signing-key caching, per the excluded ISigningKeysCache contract).
SpecialErrorActionResult Class SAIF.NetCore.Services.Contracts Record which special action ran, its title, its status, and any exception it produced.
SpecialErrorActionStatus Enum SAIF.NetCore.Services.Contracts Classify whether a special error action ran, succeeded, or failed.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • src/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts.csproj