ServiceResolver.GenericHost
3.3.1
dotnet add package ServiceResolver.GenericHost --version 3.3.1
NuGet\Install-Package ServiceResolver.GenericHost -Version 3.3.1
<PackageReference Include="ServiceResolver.GenericHost" Version="3.3.1" />
paket add ServiceResolver.GenericHost --version 3.3.1
#r "nuget: ServiceResolver.GenericHost, 3.3.1"
// Install ServiceResolver.GenericHost as a Cake Addin #addin nuget:?package=ServiceResolver.GenericHost&version=3.3.1 // Install ServiceResolver.GenericHost as a Cake Tool #tool nuget:?package=ServiceResolver.GenericHost&version=3.3.1
About this library
ServiceResolver.GenericHost is an abstract library for .NET generic host, 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 console applications (Net Core, Net 6 or higher)
IHostBuilder configuration
var hostBuilder = Host.CreateDefaultBuilder(args)
// 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 =>
{
// your IServiceCollection registrations or integrations
},
// an action used to register your services.
OnRegistering = provider =>
{
// example:
provider.Register<StringBuilder>(() => new StringBuilder("hello world.."));
},
// (optional)
// an action used to executes custom action at the end of all previous steps.
AfterBuildingProvider = provider =>
{
}
});
var host = hostBuilder.Build();
await host.RunAsync();
IHostBuilder configuration with a function factory
The function factory has as input the HostBuilderContext instance.
var hostBuilder = Host.CreateDefaultBuilder(args)
// 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 =>
{
// your IServiceCollection registrations or integrations
},
// an action used to register your services.
OnRegistering = provider =>
{
// example:
provider.Register<StringBuilder>(() => new StringBuilder("hello world.."));
},
// (optional)
// an action used to executes custom action at the end of all previous steps.
AfterBuildingProvider = provider =>
{
}
});
var host = hostBuilder.Build();
await host.RunAsync();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Hosting (>= 8.0.0)
- ServiceResolver.Ioc (>= 2.5.1)
-
net6.0
- Microsoft.Extensions.Hosting (>= 8.0.0)
- ServiceResolver.Ioc (>= 2.5.1)
-
net8.0
- Microsoft.Extensions.Hosting (>= 8.0.0)
- ServiceResolver.Ioc (>= 2.5.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ServiceResolver.GenericHost:
Package | Downloads |
---|---|
ServiceResolver.GenericHost.SimpleInjector
ServiceResolver.GenericHost.SimpleInjector is an abstract library for .NET generic host, using ServiceResolver.Ioc.SimpleInjector integration. |
|
ServiceResolver.GenericHost.AspNetCore
ServiceResolver.GenericHost.AspNetCore is an abstract library for .NET generic host in AspNetCore framework, using ServiceResolver.Ioc integration. |
GitHub repositories
This package is not used by any popular GitHub repositories.