homework/Program.cs
2026-09-14 01:49:15 +05:00

45 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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