Eternet.Mediator.Abstractions
3.0.7
Prefix Reserved
See the version list below for details.
dotnet add package Eternet.Mediator.Abstractions --version 3.0.7
NuGet\Install-Package Eternet.Mediator.Abstractions -Version 3.0.7
<PackageReference Include="Eternet.Mediator.Abstractions" Version="3.0.7" />
<PackageVersion Include="Eternet.Mediator.Abstractions" Version="3.0.7" />
<PackageReference Include="Eternet.Mediator.Abstractions" />
paket add Eternet.Mediator.Abstractions --version 3.0.7
#r "nuget: Eternet.Mediator.Abstractions, 3.0.7"
#:package Eternet.Mediator.Abstractions@3.0.7
#addin nuget:?package=Eternet.Mediator.Abstractions&version=3.0.7
#tool nuget:?package=Eternet.Mediator.Abstractions&version=3.0.7
Eternet.Mediator.Abstractions
Contratos públicos de Eternet.Mediator.
Incluye interfaces y tipos base para:
- requests y responses
- handlers y domain results
- semánticas públicas de API (
IEndpointQuery<TResponse>,IEndpointCreate<TResponse>,IEndpointUpdate<TResponse>,IEndpointDelete<TResponse>,IEndpointUpsert<TResponse>) - consumo vía
IGetResponse<TResponse> - selección contextual vía
IGetResponseFactory - contexto de ejecución HTTP (
HttpEndpointExecutionContext)
Instalación
dotnet add package Eternet.Mediator.Abstractions
Breaking Changes in 3.0.0
Eternet.Mediator.Abstractions 3.0.0 no longer ships ScopedStates.
- Contracts should stay on request properties plus
request.StepsResults. - If a consumer still references
ScopedStatesorScopedStateAccessor<T>, that consumer must remain on2.xor migrate first. - Runtime-owned helpers are now intentionally outside the public abstractions contract.
Migration guide:
../docs/scoped-states-breaking-change-v3.md
Cuándo usarlo
Usalo cuando necesites depender sólo de contratos mediator sin traer la implementación completa.
Si además necesitás atributos, runtime y extensiones de ejecución, usá Eternet.Mediator.
Semánticas públicas de API
Las interfaces IEndpointQuery<TResponse>, IEndpointCreate<TResponse>, IEndpointUpdate<TResponse>,
IEndpointDelete<TResponse> e IEndpointUpsert<TResponse> son la forma recomendada de expresar la intención pública
de un request.
Úsalas cuando el contrato público necesita seguir siendo la fuente de verdad para:
GenerateEndpoint- endpoint manifest generation
- clientes HTTP generados
- el handler público del servidor que hereda el contrato
Cuándo usar cada interfaz
IEndpointQuery<TResponse>: operaciones de lectura sin efectos de escritura persistenteIEndpointCreate<TResponse>: la operación siempre crea un recurso nuevoIEndpointUpdate<TResponse>: la operación exige que el recurso ya exista y se identifica por keyIEndpointDelete<TResponse>: la operación borra un recurso existenteIEndpointUpsert<TResponse>: la operación puede crear o actualizar según una lookup key o natural key
IEndpointUpsert<TResponse> conserva la semántica pública Upsert, pero en metadata CRUD compatible sigue
proyectando a Update para no romper consumidores legacy.
Convivencia con atributos y contratos legacy
Estas interfaces agregan metadata; no reemplazan los atributos de transporte existentes.
La precedencia de inferencia sigue siendo:
- atributos HTTP/ruta explícitos
- interfaces
IEndpoint* - interfaces legacy
IApi* - heurísticas legacy basadas en base types
- fallback legacy por nombre de operación
Las interfaces IApi* siguen disponibles como alias de compatibilidad para contratos existentes.
Los contratos legacy que todavía implementan sólo IRequest<TResponse> siguen siendo compatibles, pero para nuevos
contratos públicos la dirección preferida es usar IEndpointQuery/Create/Update/Delete/Upsert.
Uso de GenerateEndpoint
GenerateEndpoint describe la metadata del endpoint: controller, verbo, ruta y binding. Esa metadata debe vivir en el
contrato real que publica el endpoint manifest. Cuando el mismo assembly host necesita declarar descriptores outbound
para Eternet.Client.Http.Generator, ponelos dentro del contenedor GenerateHttpClient sin repetir GenerateEndpoint:
[GenerateHttpClient("Worker")]
internal abstract class WorkerHttpClient
{
internal abstract class GetWorkerProductClient : GetWorkerProductContract;
}
El endpoint sigue siendo un endpoint real servido por otro assembly o proceso. La diferencia es local a este assembly:
Eternet.Client.Http.Generator resuelve la metadata desde el manifest del contrato referenciado, mientras
Eternet.Mediator.Generator no materializa el descriptor como controller server.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Eternet.Models (>= 2.0.7)
- OneOf (>= 3.0.271)
- OneOf.SourceGenerator (>= 3.0.271)
- System.Text.Json (>= 9.0.10)
NuGet packages (21)
Showing the top 5 NuGet packages that depend on Eternet.Mediator.Abstractions:
| Package | Downloads |
|---|---|
|
Eternet.Mediator
Eternet Mediator extensions |
|
|
Eternet.Mediator.Stateful.Abstractions
Stateful pipeline contracts and helpers for Eternet.Mediator. |
|
|
Eternet.Mediator.EntityFramework
EF Core implementation for Eternet.Mediator stateful pipelines |
|
|
Eternet.Mediator.Polly
Polly-based retry executor for Eternet.Mediator pipelines |
|
|
Eternet.Mediator.ControlPlane
Control plane services for Eternet.Mediator pipelines |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.23 | 61 | 5/21/2026 |
| 3.0.22 | 79 | 5/20/2026 |
| 3.0.21 | 90 | 5/20/2026 |
| 3.0.20 | 269 | 5/19/2026 |
| 3.0.19 | 262 | 5/18/2026 |
| 3.0.18 | 351 | 5/14/2026 |
| 3.0.17 | 296 | 5/8/2026 |
| 3.0.16 | 231 | 5/8/2026 |
| 3.0.15 | 92 | 5/7/2026 |
| 3.0.14 | 150 | 5/3/2026 |
| 3.0.13 | 91 | 5/2/2026 |
| 3.0.12 | 298 | 5/1/2026 |
| 3.0.11 | 270 | 5/1/2026 |
| 3.0.10 | 255 | 5/1/2026 |
| 3.0.9 | 258 | 5/1/2026 |
| 3.0.8 | 102 | 5/1/2026 |
| 3.0.7 | 255 | 5/1/2026 |
| 3.0.6 | 253 | 4/30/2026 |
| 3.0.5 | 198 | 4/29/2026 |
| 3.0.4 | 109 | 4/29/2026 |