EAC.Hosting.AspNetCore
0.1.0-rc.4
dotnet add package EAC.Hosting.AspNetCore --version 0.1.0-rc.4
NuGet\Install-Package EAC.Hosting.AspNetCore -Version 0.1.0-rc.4
<PackageReference Include="EAC.Hosting.AspNetCore" Version="0.1.0-rc.4" />
<PackageVersion Include="EAC.Hosting.AspNetCore" Version="0.1.0-rc.4" />
<PackageReference Include="EAC.Hosting.AspNetCore" />
paket add EAC.Hosting.AspNetCore --version 0.1.0-rc.4
#r "nuget: EAC.Hosting.AspNetCore, 0.1.0-rc.4"
#:package EAC.Hosting.AspNetCore@0.1.0-rc.4
#addin nuget:?package=EAC.Hosting.AspNetCore&version=0.1.0-rc.4&prerelease
#tool nuget:?package=EAC.Hosting.AspNetCore&version=0.1.0-rc.4&prerelease
EAC.Hosting.AspNetCore
Desde 2026-10-09, Native AOT queda fuera del alcance por decisión del usuario. No se declara compatibilidad ni se exige su gate. Las referencias históricas no constituyen soporte vigente; build y tests ordinarios siguen siendo obligatorios.
Desarrollo desde el workspace
El proyecto referencia el código fuente de eac-hosting, situado como
repositorio hermano. La solución incluye esa dependencia para compilarla con
la misma configuración. Antes de ejecutar scripts/ci.sh, deben estar presentes
ambos repositorios; no se utiliza el paquete publicado como alternativa local.
scripts/validate.sh comprueba la presencia de cada regla cubierta en el catálogo,
el diseño y los traits de tests. La suite verifica la superficie pública vigente,
la ausencia de dependencias funcionales y readiness después de StopAsync.
Configuración y consumo
<PackageReference Include="EAC.Hosting.AspNetCore" Version="0.1.0-rc.3" />
EacWebHost usa WebApplication.CreateBuilder(args) y conserva la
configuración oficial de ASP.NET Core. Los límites HTTP pertenecen a la sección
nativa Kestrel, no a una clase EacAspNetCoreOptions duplicada:
{
"Kestrel": {
"Limits": {
"MaxRequestBodySize": 10485760,
"RequestHeadersTimeout": "00:00:30"
}
},
"HostOptions": {
"ShutdownTimeout": "00:00:30"
}
}
Las variables equivalentes son
Kestrel__Limits__MaxRequestBodySize=10485760,
Kestrel__Limits__RequestHeadersTimeout=00:00:30 y
HostOptions__ShutdownTimeout=00:00:30. La configuración programática posterior
prevalece:
builder.WebHost.ConfigureKestrel(options =>
{
options.Limits.MaxRequestBodySize = 10 * 1024 * 1024;
options.Limits.RequestHeadersTimeout = TimeSpan.FromSeconds(30);
});
Al iniciar, el host carga opcionalmente ficheros de Docker secrets desde
/run/secrets. Cada nombre de fichero usa __ como separador de configuración:
por ejemplo, ConnectionStrings__Product se expone como
ConnectionStrings:Product. El proveedor se aplica de nuevo después de la
composición del servicio para que los secretos externos prevalezcan sobre la
configuración remota; la ausencia del directorio no cambia el arranque local.
El host no añade valores de secretos ni rutas configurables al repositorio.
| Opción | Default | Obligatoria | Sensible | Cambio |
|---|---|---|---|---|
Kestrel:Limits:MaxRequestBodySize |
default de ASP.NET Core | no | no | reinicio |
Kestrel:Limits:RequestHeadersTimeout |
default de ASP.NET Core | no | no | reinicio |
HostOptions:ShutdownTimeout |
default de Generic Host | no | no | reinicio |
Los endpoints /health/startup, /health/live y /health/ready son convenciones
fijas del paquete, no selectores ambientales. Un valor Kestrel inválido falla
durante el binding o startup nativo. El paquete no lee credenciales ni
connection strings y referenciarlo no registra endpoints hasta invocar
EacWebHost.RunAsync<TBootstrap>. Los endpoints devuelven informes
application/json seguros y ordenados, preparados para probes y observabilidad;
la guía de consumo describe sus campos y códigos HTTP.
El host también puede publicar esos resultados mediante el Meter
EAC.Hosting.AspNetCore.Health. La instrumentación usa el publisher oficial de
health cinco segundos después del arranque y cada treinta segundos. El
endpoint independiente /metrics usa el exporter Prometheus oficial de
OpenTelemetry y se habilita explícitamente con
Eac:Observability:Health:PrometheusEndpointEnabled; permanece desactivado por
defecto para que Prd defina su frontera de scrape. Las métricas no convierten
descripciones, excepciones, endpoints, trace IDs, configuración ni secretos en
labels.
Eac:Observability:Metrics:Enabled incorpora en el mismo provider los meters
nativos Microsoft.AspNetCore.Hosting, Microsoft.AspNetCore.Server.Kestrel y
System.Runtime. AspNetCoreEnabled y RuntimeEnabled permiten desactivar
cada grupo; MeterNames agrega meters propietarios de los paquetes EAC. El
host no crea un segundo pipeline ni exige registros por endpoint.
La identidad del recurso OTLP usa Eac:Observability:Otlp:ServiceName. Si no se
declara, el host usa Eac:ConfigServer:ApplicationName, después
ApplicationName y finalmente eac-service; nunca depende del nombre de
proceso. Config Server debe entregar el valor explícito para los servicios
desplegados.
La exportación OTLP se compone en ese único provider. Permanece desactivada sin
endpoint para que el desarrollo local no dependa de un Collector. El host
entiende Eac:Observability:Otlp y las variables estándar OTEL_EXPORTER_OTLP_*;
estas últimas tienen precedencia. El paquete sólo conoce OTLP y no selecciona
Jaeger, Prometheus, OpenSearch ni otro backend.
Repositorio propietario del NuGet EAC.Hosting.AspNetCore.
Estado actual: bootstrap, lifecycle, health y publicación prerelease validados
hasta 0.1.0-rc.3; la promoción estable permanece diferida.
| 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
- EAC.Hosting (>= 0.1.0-rc.4)
- EAC.Infrastructure.Observability (>= 0.1.0-rc.4)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.19.1)
- OpenTelemetry.Exporter.Prometheus.AspNetCore (>= 1.18.0-beta.1)
- OpenTelemetry.Extensions.Hosting (>= 1.19.1)
- OpenTelemetry.Instrumentation.AspNetCore (>= 1.19.0)
- OpenTelemetry.Instrumentation.EntityFrameworkCore (>= 1.18.0-beta.1)
- OpenTelemetry.Instrumentation.Http (>= 1.19.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-rc.4 | 74 | 10/23/2026 |
| 0.1.0-rc.3 | 231 | 8/21/2026 |
| 0.1.0-rc.2 | 79 | 8/21/2026 |
| 0.1.0-rc.1 | 85 | 8/15/2026 |
| 0.1.0-beta.1 | 73 | 8/15/2026 |
| 0.1.0-alpha.4 | 86 | 8/15/2026 |
| 0.1.0-alpha.3 | 83 | 8/15/2026 |