45 lines
2.1 KiB
C#
45 lines
2.1 KiB
C#
// подключаем пространство имён Microsoft.AspNetCore для базовых классов
|
||
using Microsoft.AspNetCore.Mvc;
|
||
|
||
// создаём билдер — через него регистрируем сервисы и настраиваем приложение
|
||
var builder = WebApplication.CreateBuilder(args);
|
||
|
||
// регистрируем сервисы для MVC — контроллеры, представления, tag helpers
|
||
builder.Services.AddControllersWithViews();
|
||
|
||
// собираем приложение из зарегистрированных сервисов
|
||
var app = builder.Build();
|
||
|
||
// проверяем, не в продакшене ли мы
|
||
if (!app.Environment.IsDevelopment())
|
||
{
|
||
// в продакшене перенаправляем ошибки на страницу Error
|
||
app.UseExceptionHandler("/Home/Error");
|
||
// HSTS — браузер будет ходить только по HTTPS (для безопасности)
|
||
app.UseHsts();
|
||
}
|
||
|
||
// редирект с HTTP на HTTPS — чтобы всё шло по защищённому каналу
|
||
app.UseHttpsRedirection();
|
||
|
||
// раздаём статические файлы из папки wwwroot (css, js, картинки и т.д.)
|
||
app.UseStaticFiles();
|
||
|
||
// включаем маршрутизацию — приложение умеет понимать URL-ы
|
||
app.UseRouting();
|
||
|
||
// пока авторизации нет, но middleware уже на месте (по заданию она будет в ЛР 6)
|
||
app.UseAuthorization();
|
||
|
||
// описание страницы 404 — если страница не найдена, покажем красивую ошибку
|
||
app.UseStatusCodePagesWithReExecute("/Home/Error", "?statusCode={0}");
|
||
|
||
// задаём маршрут по умолчанию: /{controller}/{action}/{id?}
|
||
// то есть localhost:5000/Home/Index → HomeController → метод Index
|
||
app.MapControllerRoute(
|
||
name: "default",
|
||
pattern: "{controller=Home}/{action=Index}/{id?}");
|
||
|
||
// запускаем приложение — оно начинает слушать HTTP-запросы
|
||
app.Run();
|