Cosmos.MultiTenancy.AspNetCore
0.2.0
See the version list below for details.
dotnet add package Cosmos.MultiTenancy.AspNetCore --version 0.2.0
NuGet\Install-Package Cosmos.MultiTenancy.AspNetCore -Version 0.2.0
<PackageReference Include="Cosmos.MultiTenancy.AspNetCore" Version="0.2.0" />
<PackageVersion Include="Cosmos.MultiTenancy.AspNetCore" Version="0.2.0" />
<PackageReference Include="Cosmos.MultiTenancy.AspNetCore" />
paket add Cosmos.MultiTenancy.AspNetCore --version 0.2.0
#r "nuget: Cosmos.MultiTenancy.AspNetCore, 0.2.0"
#:package Cosmos.MultiTenancy.AspNetCore@0.2.0
#addin nuget:?package=Cosmos.MultiTenancy.AspNetCore&version=0.2.0
#tool nuget:?package=Cosmos.MultiTenancy.AspNetCore&version=0.2.0
Cosmos.MultiTenancy.AspNetCore
Implementacion de ITenantResolver basada en el header HTTP confiable X-Tenant-Id para servicios ASP.NET Core en el ecosistema Cosmos.
Descripcion
En arquitecturas multi-tenant con gateway, el gateway agrega headers confiables (trusted headers) que identifican al tenant. Este paquete provee TrustedHeadersTenantResolver, que lee el TenantId desde el header X-Tenant-Id del HttpContext y falla ruidosamente si el header no esta presente, garantizando que los errores de gateway no pasen desapercibidos.
Instalacion
dotnet add package Cosmos.MultiTenancy.AspNetCore
Uso
AgregarTenantResolverConHeadersConfiables registra TrustedHeadersTenantResolver como ITenantResolver y agrega IHttpContextAccessor.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AgregarWolverineCommandRouter();
builder.Services.AgregarTenantResolverConHeadersConfiables();
Comportamiento ante errores
TrustedHeadersTenantResolver.TenantId lanza InvalidOperationException en los siguientes casos:
| Condicion | Mensaje de error |
|---|---|
No hay HttpContext disponible |
"No hay HttpContext disponible para resolver el TenantId." |
| Header ausente o vacio | "El header confiable 'X-Tenant-Id' no está presente o está vacío." |
Este comportamiento es intencional: el header es confiable y proviene del gateway. Si no esta presente, es una falla del gateway que debe ser ruidosa.
Dependencias
Cosmos.MultiTenancy— proveeITenantResolverMicrosoft.AspNetCore.App(framework reference) — proveeIHttpContextAccessor
Paquetes relacionados
- Cosmos.MultiTenancy: contrato
ITenantResolver. - Cosmos.MultiTenancy.CritterStack: resolver compuesto para apps con HTTP + daemon de Wolverine.
- Cosmos.EventSourcing.CritterStack: consume
ITenantResolveren sus routers de comandos y queries.
Requisitos
- .NET 10.0 o superior
- Solo compatible con aplicaciones ASP.NET Core (requiere
Microsoft.AspNetCore.App)
Licencia
Copyright © Cosmos. Todos los derechos reservados.
| 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
- Cosmos.MultiTenancy (>= 0.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Cosmos.MultiTenancy.AspNetCore:
| Package | Downloads |
|---|---|
|
Cosmos.MultiTenancy.CritterStack
Resolver de tenant compuesto para apps con HTTP y daemon de Wolverine (inbox/outbox). Lee del header HTTP cuando hay HttpContext y cae a IMessageContext.TenantId en handlers ejecutados por el daemon. |
GitHub repositories
This package is not used by any popular GitHub repositories.