// подключаем пространство имён 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();