Skip to main content

Definition

Assembly: Microsoft.Extensions.DependencyInjection.Abstractions.dll Namespace: Microsoft.Extensions.DependencyInjection

Syntax

Microsoft.Extensions.DependencyInjection.IServiceCollection

Summary

This type is defined in Microsoft.Extensions.DependencyInjection.Abstractions.

Remarks

See Microsoft documentation for more information about the rest of the API.

Methods

AddChainedService Extension

Extension method from Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions
A Restier-specific method that adds a “service contributor”, which has a chance to chain previously registered service instances. DO NOT use this method outside of a Restier app.

Syntax

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddChainedService<TService>(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func<System.IServiceProvider, TService, TService> factory, Microsoft.Extensions.DependencyInjection.ServiceLifetime serviceLifetime = 0) where TService : class

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection to register the TService with.
factorySystem.Func<System.IServiceProvider, TService, TService>A factory method to create a new instance of service TService, wrapping previous instance.”/>.
serviceLifetimeMicrosoft.Extensions.DependencyInjection.ServiceLifetimeThe ServiceLifetime of the service being added.

Returns

Type: Microsoft.Extensions.DependencyInjection.IServiceCollection The services instance modified with the new TService reference.

Type Parameters

Remarks

This process is being deprecated. Please DO NOT rely on it for future behavior in your own apps. V2 will properly handle multiple instances of a registration by firing them in succession.

AddChainedService Extension

Extension method from Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions
A Restier-specific method that adds a “service contributor”, which has a chance to chain previously registered service instances. DO NOT use this method outside of a Restier app.

Syntax

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddChainedService<TService, TImplement>(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.DependencyInjection.ServiceLifetime serviceLifetime = 0) where TService : class where TImplement : class, TService

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection to register the TService with.
serviceLifetimeMicrosoft.Extensions.DependencyInjection.ServiceLifetimeThe ServiceLifetime of the service being added.

Returns

Type: Microsoft.Extensions.DependencyInjection.IServiceCollection Current IServiceCollection

Type Parameters

  • TService - The service type to register with the IServiceCollection.
  • TImplement - The implementation type.

Remarks

This process is being deprecated. Please DO NOT rely on it for future behavior in your own apps. V2 will properly handle multiple instances of a registration by firing them in succession. If want to cutoff previous registration, not define a property with type of TService or do not use it. The contributor added will get an instance of TImplement from the container, i.e. IServiceProvider, every time it’s get called. This method will try to register TImplement as a service with Transient life time, if it’s not yet registered. To override, you can register TImplement before or after calling this method. Note: When registering TImplement, you must NOT give it a ServiceLifetime that makes it outlives TService, that could possibly make an instance of TImplement be used in multiple instantiations of TService, which leads to unpredictable behaviors.

AddEF6ProviderServices Extension

Extension method from Microsoft.Extensions.DependencyInjection.RestierEntityFrameworkServiceCollectionExtensions
This method is used to add entity framework providers service into container.

Syntax

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddEF6ProviderServices<TDbContext>(Microsoft.Extensions.DependencyInjection.IServiceCollection services) where TDbContext : System.Data.Entity.DbContext

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection.

Returns

Type: Microsoft.Extensions.DependencyInjection.IServiceCollection Current IServiceCollection.

Type Parameters

  • TDbContext - The DbContext type.

AddEFCoreProviderServices Extension

Extension method from Microsoft.Extensions.DependencyInjection.RestierEntityFrameworkServiceCollectionExtensions
This method is used to add entity framework providers service into container.

Syntax

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddEFCoreProviderServices<TDbContext>(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<System.IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction = null) where TDbContext : Microsoft.EntityFrameworkCore.DbContext

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection.
optionsActionSystem.Action<System.IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder>An optional action to configure the Microsoft.EntityFrameworkCore.DbContextOptions
for the context. This provides an alternative to performing configuration of
the context by overriding the Microsoft.EntityFrameworkCore.DbContext.OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder)
method in your derived context.
If an action is supplied here, the Microsoft.EntityFrameworkCore.DbContext.OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder)
method will still be run if it has been overridden on the derived context. Microsoft.EntityFrameworkCore.DbContext.OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder)
configuration will be applied in addition to configuration performed here.
In order for the options to be passed into your context, you need to expose a
constructor on your context that takes Microsoft.EntityFrameworkCore.DbContextOptions`1
and passes it to the base constructor of Microsoft.EntityFrameworkCore.DbContext.

Returns

Type: Microsoft.Extensions.DependencyInjection.IServiceCollection Current IServiceCollection.

Type Parameters

  • TDbContext - The DbContext type.

AddRestier Extension

Extension method from Microsoft.Extensions.DependencyInjection.Restier_IServiceCollectionExtensions

Syntax

public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddRestier(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.Restier.Core.RestierApiBuilder> configureApisAction, bool useEndpointRouting = false)

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollection-
configureApisActionSystem.Action<Microsoft.Restier.Core.RestierApiBuilder>-
useEndpointRoutingbool-

Returns

Type: Microsoft.Extensions.DependencyInjection.IMvcBuilder

AddRestier Extension

Extension method from Microsoft.Extensions.DependencyInjection.Restier_IServiceCollectionExtensions

Syntax

public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddRestier(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.Restier.Core.RestierApiBuilder> configureApisAction, System.Action<Microsoft.AspNetCore.Mvc.MvcOptions> mvcOptions, bool useEndpointRouting = false)

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollection-
configureApisActionSystem.Action<Microsoft.Restier.Core.RestierApiBuilder>-
mvcOptionsSystem.Action<Microsoft.AspNetCore.Mvc.MvcOptions>-
useEndpointRoutingbool-

Returns

Type: Microsoft.Extensions.DependencyInjection.IMvcBuilder

AddRestier Extension

Extension method from Microsoft.Extensions.DependencyInjection.Restier_IServiceCollectionExtensions

Syntax

public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddRestier(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Uri alternateBaseUri, System.Action<Microsoft.Restier.Core.RestierApiBuilder> configureApisAction, bool useEndpointRouting = false)

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollection-
alternateBaseUriSystem.Uri-
configureApisActionSystem.Action<Microsoft.Restier.Core.RestierApiBuilder>-
useEndpointRoutingbool-

Returns

Type: Microsoft.Extensions.DependencyInjection.IMvcBuilder

AddRestierSwagger Extension

Extension method from Microsoft.Extensions.DependencyInjection.Restier_AspNetCore_Swagger_IServiceCollectionExtensions
Adds the required services to use Swagger with Restier.

Syntax

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddRestierSwagger(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.OpenApi.OData.OpenApiConvertSettings> openApiSettings = null)

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection to register Swagger services with.
openApiSettingsSystem.Action<Microsoft.OpenApi.OData.OpenApiConvertSettings>An Action`1 that allows you to configure the core Swagger output.

Returns

Type: Microsoft.Extensions.DependencyInjection.IServiceCollection

HasService Extension

Extension method from Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions
Return true if the IServiceCollection has any TService service registered.

Syntax

public static bool HasService<TService>(Microsoft.Extensions.DependencyInjection.IServiceCollection services) where TService : class

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection to register the TService with.

Returns

Type: bool A Boolean specifying whether or not the TService

Type Parameters

HasServiceCount Extension

Extension method from Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions
Returns the number of services that match the given ServiceType in a given ServiceCollection.

Syntax

public static int HasServiceCount<TService>(Microsoft.Extensions.DependencyInjection.IServiceCollection services) where TService : class

Parameters

NameTypeDescription
servicesMicrosoft.Extensions.DependencyInjection.IServiceCollectionThe IServiceCollection to register the TService with.

Returns

Type: int An Int32 representing the number of Services that match the given ServiceType.

Type Parameters