AspNetCore.Docs/aspnetcore/includes/combine-di.md

1.8 KiB

no-loc
Home
Privacy
Kestrel
appsettings.json
ASP.NET Core Identity
cookie
Cookie
Blazor
Blazor Server
Blazor WebAssembly
Identity
Let's Encrypt
Razor
SignalR

Consider the following ConfigureServices method, which registers services and configures options:

[!code-csharp]

Related groups of registrations can be moved to an extension method to register services. For example, the configuration services are added to the following class:

[!code-csharp]

The remaining services are registered in a similar class. The following ConfigureServices method uses the new extension methods to register the services:

[!code-csharp]

Note: Each services.Add{GROUP_NAME} extension method adds and potentially configures services. For example, xref:Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddControllersWithViews%2A adds the services MVC controllers with views require, and xref:Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddRazorPages%2A adds the services Razor Pages requires. We recommended that apps follow the naming convention of creating extension methods in the xref:Microsoft.Extensions.DependencyInjection?displayProperty=fullName namespace. Creating extension methods in the Microsoft.Extensions.DependencyInjection namespace:

  • Encapsulates groups of service registrations.
  • Provides convenient IntelliSense access to the service.