Woksin.Extensions.IoC.Core 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Woksin.Extensions.IoC.Core --version 2.0.0                
NuGet\Install-Package Woksin.Extensions.IoC.Core -Version 2.0.0                
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="Woksin.Extensions.IoC.Core" Version="2.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Woksin.Extensions.IoC.Core --version 2.0.0                
#r "nuget: Woksin.Extensions.IoC.Core, 2.0.0"                
#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.
// Install Woksin.Extensions.IoC.Core as a Cake Addin
#addin nuget:?package=Woksin.Extensions.IoC.Core&version=2.0.0

// Install Woksin.Extensions.IoC.Core as a Cake Tool
#tool nuget:?package=Woksin.Extensions.IoC.Core&version=2.0.0                

Woksin.Extensions.IoC.Core

Setup

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

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Woksin.Extensions.IoC.Core:

Package Downloads
Woksin.Extensions.IoC.Microsoft

Package Description

Woksin.Extensions.IoC.Autofac

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.1 162 2/26/2024
3.0.0 155 2/26/2024
2.0.0 233 11/16/2023
1.0.3 192 9/11/2023
1.0.2 242 8/30/2023
1.0.1 214 8/30/2023
1.0.0 195 8/22/2023
1.0.0-rc.3 80 8/22/2023
1.0.0-rc.1 78 8/22/2023

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/IoC/CHANGELOG.md)