EAC.Hosting.AspNetCore 0.1.0-rc.4

This is a prerelease version of EAC.Hosting.AspNetCore.
dotnet add package EAC.Hosting.AspNetCore --version 0.1.0-rc.4
                    
NuGet\Install-Package EAC.Hosting.AspNetCore -Version 0.1.0-rc.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EAC.Hosting.AspNetCore" Version="0.1.0-rc.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EAC.Hosting.AspNetCore" Version="0.1.0-rc.4" />
                    
Directory.Packages.props
<PackageReference Include="EAC.Hosting.AspNetCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EAC.Hosting.AspNetCore --version 0.1.0-rc.4
                    
#r "nuget: EAC.Hosting.AspNetCore, 0.1.0-rc.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EAC.Hosting.AspNetCore@0.1.0-rc.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EAC.Hosting.AspNetCore&version=0.1.0-rc.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=EAC.Hosting.AspNetCore&version=0.1.0-rc.4&prerelease
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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