ServiceResolver.GenericHost.AspNetCore
3.5.2
dotnet add package ServiceResolver.GenericHost.AspNetCore --version 3.5.2
NuGet\Install-Package ServiceResolver.GenericHost.AspNetCore -Version 3.5.2
<PackageReference Include="ServiceResolver.GenericHost.AspNetCore" Version="3.5.2" />
<PackageVersion Include="ServiceResolver.GenericHost.AspNetCore" Version="3.5.2" />
<PackageReference Include="ServiceResolver.GenericHost.AspNetCore" />
paket add ServiceResolver.GenericHost.AspNetCore --version 3.5.2
#r "nuget: ServiceResolver.GenericHost.AspNetCore, 3.5.2"
#:package ServiceResolver.GenericHost.AspNetCore@3.5.2
#addin nuget:?package=ServiceResolver.GenericHost.AspNetCore&version=3.5.2
#tool nuget:?package=ServiceResolver.GenericHost.AspNetCore&version=3.5.2
About this library
ServiceResolver.GenericHost.AspNetCore is a library for AspNetCore applications, which uses ServiceResolver.Ioc library.
Take this example defining a new IServiceRegisterProvider implementation (or other third party IServiceRegisterProvider implementation).
class CustomServiceRegisterProvider : IServiceRegisterProvider
{
public CustomServiceRegisterProvider(CustomServiceRegisterDescriptor descriptor)
{
// coding for setup.
}
// your custom implementation ..
}
Configuration for AspNet applications (NET6 or higher)
WebApplicationBuilder configuration
The extension method UseServiceResolver has as input the ServiceRegisterOptions instance.
var builder = WebApplication.CreateBuilder(args);
builder.Host
// custom extension method to use for integration.
.UseServiceResolver(new ServiceRegisterOptions<IServiceRegisterProvider>
{
// a factory used to create your service register provider
OnCreating = collection =>
{
return new CustomServiceRegisterProvider(new CustomServiceRegisterDescriptor());
},
// (optional)
// an action used to prepare (if needed) your IServiceCollection.
BeforeRegistering = collection =>
{
collection.AddControllers();
},
// an action used to register your services.
OnRegistering = provider =>
{
// example:
serviceRegister
.AddAspNetCore()
.AddControllerActivation();
},
// (optional)
// an action used to executes custom action at the end of all previous steps.
AfterBuildingProvider = provider =>
{
provider.Verify();
}
});
var app = builder.Build();
// Configure the HTTP request pipeline.
app.UseAuthorization();
app.MapControllers();
await app.RunAsync();
WebApplicationBuilder configuration with a function factory
The extension method UseServiceResolver has as input the HostBuilderContext instance in the lambda expression, and that reference can be used inside the factory function.
var builder = WebApplication.CreateBuilder(args);
builder.Host
// custom extension method to use for integration.
.UseServiceResolver(context => new ServiceRegisterOptions<IServiceRegisterProvider>
{
// a factory used to create your service register provider
OnCreating = collection =>
{
return new CustomServiceRegisterProvider(new CustomServiceRegisterDescriptor());
},
// (optional)
// an action used to prepare (if needed) your IServiceCollection.
BeforeRegistering = collection =>
{
collection.AddControllers();
},
// an action used to register your services.
OnRegistering = provider =>
{
// example:
serviceRegister
.AddAspNetCore()
.AddControllerActivation();
},
// (optional)
// an action used to executes custom action at the end of all previous steps.
AfterBuildingProvider = provider =>
{
provider.Verify();
}
});
var app = builder.Build();
// Configure the HTTP request pipeline.
app.UseAuthorization();
app.MapControllers();
await app.RunAsync();
Main Types
The main types provided by this library are:
ServiceResolver.Ioc.AspNetCore.Hosting.RequestScopeStartupFilter
ServiceResolver.Ioc.AspNetCore.Http.HttpContextFactoryDecorator
ServiceResolver.Ioc.AspNetCore.Mvc.ServiceResolverControllerActivator
Related Packages
ServiceResolver.GenericHost
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 was computed. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net6.0
- ServiceResolver.GenericHost (>= 3.5.2)
-
net8.0
- ServiceResolver.GenericHost (>= 3.5.2)
-
net9.0
- ServiceResolver.GenericHost (>= 3.5.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.