Raycynix.Extensions.Exceptions.Abstractions
3.0.0
dotnet add package Raycynix.Extensions.Exceptions.Abstractions --version 3.0.0
NuGet\Install-Package Raycynix.Extensions.Exceptions.Abstractions -Version 3.0.0
<PackageReference Include="Raycynix.Extensions.Exceptions.Abstractions" Version="3.0.0" />
<PackageVersion Include="Raycynix.Extensions.Exceptions.Abstractions" Version="3.0.0" />
<PackageReference Include="Raycynix.Extensions.Exceptions.Abstractions" />
paket add Raycynix.Extensions.Exceptions.Abstractions --version 3.0.0
#r "nuget: Raycynix.Extensions.Exceptions.Abstractions, 3.0.0"
#:package Raycynix.Extensions.Exceptions.Abstractions@3.0.0
#addin nuget:?package=Raycynix.Extensions.Exceptions.Abstractions&version=3.0.0
#tool nuget:?package=Raycynix.Extensions.Exceptions.Abstractions&version=3.0.0
Raycynix.Extensions.Exceptions.Abstractions
Raycynix.Extensions.Exceptions.Abstractions contains the contracts and shared models used by the Raycynix exceptions packages.
What it contains
- exception contracts such as
IRaycynixException - mapping and masking contracts
- retry and background execution contracts
- shared models such as
ErrorExecutionContext,ExceptionDetail, andRetryExecutionOptions
Purpose
This package lets other packages depend on Raycynix exception contracts without taking a dependency on the full implementation package.
Exception contracts validate required messages, machine-readable codes, categories, and HTTP error status codes. Public response contracts intentionally exclude raw query strings and internal execution context.
Logging
This package contains contracts, options, and shared models only. Runtime diagnostics belong to implementation packages, so this package does not add a logging dependency.
Example
Libraries can depend only on abstractions when they need retry or masking contracts:
public sealed class SyncService(IRetryExecutor retryExecutor)
{
public Task ExecuteAsync(CancellationToken cancellationToken)
{
return retryExecutor.ExecuteAsync(
operation: async token =>
{
await Task.Delay(10, token);
},
operationName: "SyncService.Execute",
cancellationToken: cancellationToken);
}
}
Migrating From 2.x
IExceptionResponse.QueryStringandIExceptionResponse.Contextwere removed to prevent internal request data from entering public payloads.IExceptionResponse.ValidationErrorsnow usesIReadOnlyDictionary<string, string[]>.ExceptionDetailvalidates required values and is now sealed.- Custom
RaycynixExceptionimplementations must use status codes between 400 and 599.
| Product | Versions 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. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Raycynix.Extensions.Exceptions.Abstractions:
| Package | Downloads |
|---|---|
|
Raycynix.Extensions.Exceptions
Core validated exception mapping, sensitive-data masking, transient retry execution, and background task failure handling for Raycynix applications. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v3.0.0 hardens exception contracts with validated required values and status codes, defensive detail snapshots, bounded retry options, and a safer public exception response contract that excludes internal execution context and query strings.