Основы ASP.NET Core¶
Точкой входа для любого приложения ASP.NET Core является файл Program.cs. Вот такой файл создаётся при использовании шаблона проекта ASP.NET Core 6:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
Program.cs1 состоит из двух частей:
- Конфигурация сервисов2 - включает в себя настройку приложения, сторонних библиотек, аутентификации, авторизации и регистрацию сервисов в контейнере зависимостей3;
- Активация сервисов4 - определяет конвейер промежуточного ПО.
Конфигурация сервисов происходит до вызова метода builder.Build(), а активация - после и до вызова app.Run(). Вот ещё один пример конфигурации приложения Razor Pages:
var builder = WebApplication.CreateBuilder();
//Конфигурация сервисов
builder.Services.AddRazorPages();
var app = builder.Build();
//Активация сервисов
if(!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run()
В секции конфигурации сервисов у приложения есть доступ к системе конфигурации5, а затем конфигурацию можно передать через внедрение зависимостей.
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<SmtpConfiguration>(Configuration.Section("SmtpConfiguration"));
//...
-
По сравнению с предыдущей версией, в ASP.NET Core 6 файл Program.cs заметно лаконичнее, и, к тому же, не требует Startup.cs ↩
-
Ранее за это отвечал метод
ConfigureServices()классаStartup; ↩ -
Концепция внедрения зависимостей не изменилась с .NET5 и описана Э.Локом здесь; ↩
-
Конфигурирование практически не изменилось с .NET5, о нём можно прочитать здесь ↩
Дата создания : 6 апреля 2023 г.