Woksin.Extensions.Configurations.Tenancy
2.0.0
See the version list below for details.
dotnet add package Woksin.Extensions.Configurations.Tenancy --version 2.0.0
NuGet\Install-Package Woksin.Extensions.Configurations.Tenancy -Version 2.0.0
<PackageReference Include="Woksin.Extensions.Configurations.Tenancy" Version="2.0.0" />
paket add Woksin.Extensions.Configurations.Tenancy --version 2.0.0
#r "nuget: Woksin.Extensions.Configurations.Tenancy, 2.0.0"
// Install Woksin.Extensions.Configurations.Tenancy as a Cake Addin #addin nuget:?package=Woksin.Extensions.Configurations.Tenancy&version=2.0.0 // Install Woksin.Extensions.Configurations.Tenancy as a Cake Tool #tool nuget:?package=Woksin.Extensions.Configurations.Tenancy&version=2.0.0
Configuration.Extension
Here I should explain how to use this package...
Setup
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 is compatible. 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 is compatible. 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. |
-
net6.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- Woksin.Extensions.Configurations.Core (>= 2.0.0)
- Woksin.Extensions.IoC.Core (>= 2.0.0)
-
net7.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- Woksin.Extensions.Configurations.Core (>= 2.0.0)
- Woksin.Extensions.IoC.Core (>= 2.0.0)
-
net8.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- Woksin.Extensions.Configurations.Core (>= 2.0.0)
- Woksin.Extensions.IoC.Core (>= 2.0.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 2.0.0:
Adds mulit-tenancy support and build for .NET 8!
Added:
- .NET 8 support
- Multi-tenancy support - Adds multi-tenancy support to IoC and Configuration.Tenancy packages- TenantId type which is simply represented by a string. Meant to uniquely identify a tenant
- PerTenant attribute used in both the IoC and Configuration system to signify a tenant-scoped dependency
- Tenant-scoped service providers - Each tenant owns its own scoped dependencies with their own lifetimes. Think of it as a completely isolated IoC containers per tenant
- Tenant-scoped configuration - Allows for resolving configurations for each tenant
- Automatic JSON serialization for TenantId type for both Microsoft MVC and WebAPI resolving the tenant id from a string
- Automatic serialization of TenantId type from IConfiguration (meaning that a configuration class can have TenantId as property resolved from a string)
- Adds a Middleware that resolved the TenantId for each request based on a strategies- Default strategy if no custom strategy is configured is to find the TenantId in the Tenant-Id header in the HttpRequest
- Can provide custom strategies that will be used for resolving TenantId from HttpContext
- TenantId filters can also be added to filter out tenant ids resolved from the strategies
- Woksin.Extensions.Configuration.Tenancy nuget package
Changed:
- Woksin.Extensions.Configuration project structure to support the multi-tenancy model from the IoC package. Split into multiple projects:- Woksin.Extensions.Configuration.Core - Provides the common functionality used by the configuration extension packages
- Woksin.Extensions.Configuration.Base - Is the old configuration system without multi-tenancy support
- Woksin.Extensions.Configuration.Tenancy - Adds multi-tenancy support by depending on the IoC system
- Various breaking changes in classes, class names, etc. That should not impact existing applications using these packages
Changelog:
For all release notes, see changelog (https://github.com/woksin-org/Woksin.Extensions/blob/main/Packages/DotNET/Configurations/CHANGELOG.md)