Fluxera.Extensions.DependencyInjection
9.0.0
Prefix Reserved
See the version list below for details.
dotnet add package Fluxera.Extensions.DependencyInjection --version 9.0.0
NuGet\Install-Package Fluxera.Extensions.DependencyInjection -Version 9.0.0
<PackageReference Include="Fluxera.Extensions.DependencyInjection" Version="9.0.0" />
paket add Fluxera.Extensions.DependencyInjection --version 9.0.0
#r "nuget: Fluxera.Extensions.DependencyInjection, 9.0.0"
// Install Fluxera.Extensions.DependencyInjection as a Cake Addin #addin nuget:?package=Fluxera.Extensions.DependencyInjection&version=9.0.0 // Install Fluxera.Extensions.DependencyInjection as a Cake Tool #tool nuget:?package=Fluxera.Extensions.DependencyInjection&version=9.0.0
Fluxera.Extensions
A library that extends the Microsoft.Extensions.* libraries with custom functionality and also provices custom extensions.
Fluxera.Extensions.Caching
This extension contains Option
classes for configuring a remote distributed cache server and
several useful extension methods for the IDistributedCache
service.
Fluxera.Extensions.Common
This extension contains several custom services:
IDateTimeOffsetProvider
A service that provides mockable access to staticDateTimeOffset
.IDateTimeProvider
A service that provides mockable access to staticDateTime
.IGuidGenerator
A service to generateGuid
using different generators.IHashCalculator
A service to calculate hashes from input values.IJitterCalculator
A service that adds entropy to any given number.IPasswordGenerator
A service that generates random passwords.IRetryDelayCalculator
A service that calculates retry delay with (truncated) binary exponential back-off.IStringEncryptionService
A service that can be used to simply encrypt/decrypt texts.
Fluxera.Extensions.DataManagement
This extension contains an infrastructure for inserting seed data into databases.
Fluxera.Extensions.DependencyInjection
This extension contains several additions to the dependency injection extension.
- Decorator
- Add decorators to services.
- Named Services
- Add named service implementations.
- Lazy Services
- Add
Lazy<T>
as open generic sevice type. Any service will be resolved lazily from it.
- Add
- Object Accessor
- Provides a way to access object instances from the
IServiceCollection
while still configuring services.
- Provides a way to access object instances from the
Fluxera.Extensions.Http
This extension provides a way to register named HttpClient
services and several custom DelegatingHandler
implementations.
public interface ITestHttpClientService : IHttpClientService
{
Task<string> GetSomethingAsync();
}
public class TestHttpClientService : HttpClientServiceBase, ITestHttpClientService
{
/// <inheritdoc />
public TestHttpClientService(string name, HttpClient httpClient, RemoteService options)
: base(name, httpClient, options)
{
}
public async Task<string> GetSomethingAsync()
{
HttpResponseMessage response = await this.HttpClient.GetAsync("/");
return await response.Content.ReadAsStringAsync();
}
}
services.AddHttpClientService<ITestHttpClientService, TestHttpClientService>(
context => new TestHttpClientService(context.Name, context.HttpClient, context.Options));
Fluxera.Extensions.Localization
This extension contains several extension methods IStringLocalizer
service.
Fluxera.Extensions.OData
This extension provides a way to register named ODataClient
services using Simple.OData.Client
.
public interface ITestODataClientService : IODataClientService
{
}
public class TestODataClientService : ODataClientServiceBase<Person, string>, ITestODataClientService
{
/// <inheritdoc />
public TestODataClientService(string name, string collectionName, IODataClient oDataClient, RemoteService options)
: base(name, collectionName, oDataClient, options)
{
}
}
services.AddODataClientService<ITestODataClientService, TestODataClientService>("People",
context => new TestODataClientService(context.Name, context.CollectionName, context.ODataClient, context.Options));
Fluxera.Extensions.Validation
This extension provides an abstraction over validation frameworks. Any one framework can be used together with other ones. The validation results will merged by the extension.
At the moment System.ComponentModel.Annotations
and FluentValidation
is supported.
One can configure the validators to use like this:
IServiceCollection services = new ServiceCollection();
services.AddValidation(builder =>
{
builder
.AddDataAnnotations()
.AddFluentValidation(registration =>
{
registration.AddValidator<PersonValidator>();
});
});
References
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. |
-
net8.0
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Fluxera.Extensions.DependencyInjection:
Package | Downloads |
---|---|
Fluxera.Extensions.Hosting
A modular application host. |
|
Fluxera.Extensions.Validation
The custom extensions for validation. |
|
Fluxera.Repository
A generic repository implementation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.2 | 483 | 11/16/2024 |
9.0.1 | 168 | 11/14/2024 |
9.0.0 | 83 | 11/14/2024 |
8.3.4 | 831 | 11/1/2024 |
8.3.3 | 259 | 7/9/2024 |
8.3.2 | 2,402 | 6/12/2024 |
8.3.1 | 1,128 | 6/2/2024 |
8.3.0 | 1,087 | 5/26/2024 |
8.2.1 | 148 | 5/24/2024 |
8.2.0 | 4,012 | 4/24/2024 |
8.1.0 | 5,922 | 4/18/2024 |
8.0.7 | 1,547 | 4/13/2024 |
8.0.6 | 377 | 4/13/2024 |
8.0.5 | 1,270 | 3/19/2024 |
8.0.4 | 3,593 | 2/22/2024 |
8.0.3 | 1,691 | 1/21/2024 |
8.0.2 | 8,078 | 1/4/2024 |
8.0.1 | 1,572 | 11/23/2023 |
8.0.0 | 1,669 | 11/15/2023 |
7.2.4 | 1,452 | 7/23/2023 |
7.2.3 | 499 | 7/20/2023 |
7.2.2 | 1,204 | 6/21/2023 |
7.2.1 | 1,192 | 4/29/2023 |
7.2.0 | 2,639 | 4/25/2023 |
7.1.3 | 4,200 | 4/13/2023 |
7.1.2 | 1,836 | 3/16/2023 |
7.1.1 | 2,383 | 2/27/2023 |
7.1.0 | 4,091 | 1/18/2023 |
7.0.5 | 4,785 | 12/22/2022 |
7.0.4 | 727 | 12/13/2022 |
7.0.3 | 3,903 | 12/5/2022 |
7.0.2 | 1,754 | 11/15/2022 |
7.0.1 | 1,346 | 11/12/2022 |
7.0.0 | 1,135 | 11/9/2022 |
6.1.8 | 8,066 | 10/12/2022 |
6.1.7 | 22,183 | 9/20/2022 |
6.1.6 | 12,319 | 9/15/2022 |
6.1.5 | 7,348 | 7/30/2022 |
6.1.4 | 7,226 | 6/30/2022 |
6.1.3 | 7,155 | 6/15/2022 |
6.1.2 | 9,164 | 6/7/2022 |
6.1.1 | 6,193 | 6/4/2022 |
6.1.0 | 1,292 | 6/4/2022 |
6.0.34 | 1,381 | 6/4/2022 |
6.0.33 | 20,835 | 5/28/2022 |
6.0.32 | 3,804 | 5/27/2022 |
6.0.31 | 1,292 | 5/27/2022 |
6.0.29 | 22,196 | 5/10/2022 |
6.0.28 | 6,863 | 5/5/2022 |
6.0.27 | 6,376 | 4/20/2022 |
6.0.26 | 3,381 | 4/20/2022 |
6.0.25 | 1,304 | 4/19/2022 |
6.0.23 | 4,739 | 4/11/2022 |
6.0.22 | 1,280 | 4/11/2022 |
6.0.20 | 2,515 | 4/10/2022 |
6.0.19 | 5,972 | 3/24/2022 |
6.0.18 | 3,460 | 2/17/2022 |
6.0.14 | 1,903 | 12/17/2021 |
6.0.13 | 688 | 12/14/2021 |
6.0.11 | 675 | 12/13/2021 |
6.0.8 | 694 | 12/13/2021 |
6.0.6 | 738 | 12/13/2021 |
6.0.4 | 301 | 12/13/2021 |
6.0.2 | 442 | 12/12/2021 |