Class ServiceCollectionExtensions
Provides extension methods for Microsoft.Extensions.DependencyInjection.IServiceCollection implemenations.
Inheritance
Namespace: EPiServer.ServiceLocation
Assembly: EPiServer.Framework.dll
Version: 12.0.3Syntax
public static class ServiceCollectionExtensions : ObjectMethods
Add(IServiceCollection, Type, Func<IServiceProvider, Object>, ServiceLifetime)
Registers implementation factory for a service
Declaration
public static IServiceCollection Add(this IServiceCollection services, Type serviceType, Func<IServiceProvider, object> implementationFactory, ServiceLifetime serviceLifetime)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Func<System.IServiceProvider, System.Object> | implementationFactory | The implementation factory | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Add(IServiceCollection, Type, Type, ServiceLifetime)
Registers implementation type for a service
Declaration
public static IServiceCollection Add(this IServiceCollection services, Type serviceType, Type implementationType, ServiceLifetime serviceLifetime)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Type | implementationType | The implementation type. | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Add<TService>(IServiceCollection, Func<IServiceProvider, TService>, ServiceLifetime)
Registers lifecycled implementation factory for a service
Declaration
public static IServiceCollection Add<TService>(this IServiceCollection services, Func<IServiceProvider, TService> implementationFactory, ServiceLifetime serviceLifetime)
    where TService : classParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service provider that is extended | 
| System.Func<System.IServiceProvider, TService> | implementationFactory | The implementation factory | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | 
AddHttpContextOrThreadScoped<TService>(IServiceCollection, Func<IServiceProvider, TService>)
Registers a transient (httpcontext or thread local) lifecycled factory for a service.
Declaration
public static IServiceCollection AddHttpContextOrThreadScoped<TService>(this IServiceCollection services, Func<IServiceProvider, TService> implementationFactory)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection. | 
| System.Func<System.IServiceProvider, TService> | implementationFactory | The factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service configuration provider | 
Type Parameters
| Name | Description | 
|---|---|
| TService | The service type | 
AddHttpContextOrThreadScoped<TService, TImpl>(IServiceCollection)
Registers a hybrid (httpcontext or thread local) lifecycled implementation type for a service
Declaration
public static IServiceCollection AddHttpContextOrThreadScoped<TService, TImpl>(this IServiceCollection services)
    where TImpl : TServiceParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service provider that is extended | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service configuration provider | 
Type Parameters
| Name | Description | 
|---|---|
| TService | The service type | 
| TImpl | The implementation type | 
AddScoped(IServiceCollection, Type, Func<IServiceProvider, Object>)
Registers a hybrid (httpcontext or thread local) lifecycled instance factory as a service
Declaration
public static IServiceCollection AddScoped(this IServiceCollection services, Type serviceType, Func<IServiceProvider, object> implementationFactory)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Func<System.IServiceProvider, System.Object> | implementationFactory | The implementation factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
AddScoped<TService>(IServiceCollection, Func<IServiceProvider, TService>)
Registers a scoped lifecycled factory as a service
Declaration
public static IServiceCollection AddScoped<TService>(this IServiceCollection services, Func<IServiceProvider, TService> implementationFactory)
    where TService : classParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Func<System.IServiceProvider, TService> | implementationFactory | The instance factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | 
AddScoped<TService, TImplementation>(IServiceCollection, Func<IServiceProvider, TImplementation>)
Registers a hybrid (httpcontext or thread local) lifecycled factory as a service
Declaration
public static IServiceCollection AddScoped<TService, TImplementation>(this IServiceCollection services, Func<IServiceProvider, TImplementation> implementationFactory)
    where TService : class where TImplementation : class, TServiceParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Func<System.IServiceProvider, TImplementation> | implementationFactory | The instance factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | |
| TImplementation | 
AddServiceAccessor(IServiceCollection)
Add service accessor for latest registered service.
Declaration
public static IServiceCollection AddServiceAccessor(this IServiceCollection services)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
AddSingleton(IServiceCollection, Type, Func<IServiceProvider, Object>)
Registers a singleton lifecycled factory for a service
Declaration
public static IServiceCollection AddSingleton(this IServiceCollection services, Type serviceType, Func<IServiceProvider, object> implementationFactory)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Func<System.IServiceProvider, System.Object> | implementationFactory | The implementation factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
AddSingleton<TService, TImplementation>(IServiceCollection, Func<IServiceProvider, TImplementation>)
Registers a singleton lifecycled factory as a service
Declaration
public static IServiceCollection AddSingleton<TService, TImplementation>(this IServiceCollection services, Func<IServiceProvider, TImplementation> implementationFactory)
    where TService : class where TImplementation : class, TServiceParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Func<System.IServiceProvider, TImplementation> | implementationFactory | The factory used to create the singleton instance | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | |
| TImplementation | 
AddTransient(IServiceCollection, Type, Func<IServiceProvider, Object>)
Registers a transient lifecycled implementation factory for a service
Declaration
public static IServiceCollection AddTransient(this IServiceCollection services, Type serviceType, Func<IServiceProvider, object> implementationFactory)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Func<System.IServiceProvider, System.Object> | implementationFactory | The implementation factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
AddTransient<TService, TImplementation>(IServiceCollection, Func<IServiceProvider, TImplementation>)
Registers a transient lifecycled factory for a service
Declaration
public static IServiceCollection AddTransient<TService, TImplementation>(this IServiceCollection services, Func<IServiceProvider, TImplementation> implementationFactory)
    where TService : class where TImplementation : class, TServiceParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service provider that is extended | 
| System.Func<System.IServiceProvider, TImplementation> | implementationFactory | The factory method to create instances | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | |
| TImplementation | 
TryAdd(IServiceCollection, Type, Func<IServiceProvider, Object>, ServiceLifetime)
Registers implementation factory for a service if it does not exist
Declaration
public static IServiceCollection TryAdd(this IServiceCollection services, Type serviceType, Func<IServiceProvider, object> implementationFactory, ServiceLifetime serviceLifetime)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Func<System.IServiceProvider, System.Object> | implementationFactory | The implementation factory | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
TryAdd(IServiceCollection, Type, Type, ServiceLifetime)
Registers implementation type for a service if it does not exist
Declaration
public static IServiceCollection TryAdd(this IServiceCollection services, Type serviceType, Type implementationType, ServiceLifetime serviceLifetime)Parameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Type | serviceType | The service type | 
| System.Type | implementationType | The implementation type | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
TryAdd<TService>(IServiceCollection, Func<IServiceProvider, TService>)
Registers the service if not already registered.
Declaration
public static IServiceCollection TryAdd<TService>(this IServiceCollection services, Func<IServiceProvider, TService> implementationFactory)
    where TService : classParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Func<System.IServiceProvider, TService> | implementationFactory | The implementation factory | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | The service type | 
TryAdd<TService>(IServiceCollection, Func<IServiceProvider, TService>, ServiceLifetime)
Registers the service if not already registered.
Declaration
public static IServiceCollection TryAdd<TService>(this IServiceCollection services, Func<IServiceProvider, TService> implementationFactory, ServiceLifetime serviceLifetime)
    where TService : classParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| System.Func<System.IServiceProvider, TService> | implementationFactory | The implementation factory | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | The service type | 
TryAdd<TService, TImplementationType>(IServiceCollection, ServiceLifetime)
Registers the service if not already registered.
Declaration
public static IServiceCollection TryAdd<TService, TImplementationType>(this IServiceCollection services, ServiceLifetime serviceLifetime)
    where TService : classParameters
| Type | Name | Description | 
|---|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | services | The service collection that is extended | 
| Microsoft.Extensions.DependencyInjection.ServiceLifetime | serviceLifetime | The lifetime of the service. | 
Returns
| Type | Description | 
|---|---|
| Microsoft.Extensions.DependencyInjection.IServiceCollection | The service collection | 
Type Parameters
| Name | Description | 
|---|---|
| TService | The service type. | 
| TImplementationType | The implementation type. | 
