TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1511 1.37K
День 1221. #ЗаметкиНаПолях
Добавляем Startup.cs в Минимальные API
С минимальными API в .NET 6 просто начать, но по мере роста проекта какие-то части из Program.cs лучше всё-таки вынести. Рассмотрим, как вернуть файл Startup.cs в проект минимальных API.

Вот пример файла Program.cs с использованием минимальных API:
var builder = WebApplication.CreateBuilder(args);

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();

Здесь всё написано в одном классе Program.cs. Мы создаём построитель приложения, регистрируем зависимости, строим приложение и добавляем промежуточное ПО.
Startup.cs содержит 2 метода: ConfigureServices() для регистрации зависимостей и вызова промежуточного ПО в методе Configure().

Соответственно, всё, что идёт до строки
var app = builder.Build();
должно попасть в ConfigureServices. А всё, что после – в Configure.

public class Startup {
public IConfiguration configRoot { get; }
public Startup(IConfiguration configuration) {
configRoot = configuration;
}

public void ConfigureServices(IServiceCollection services) {
services.AddRazorPages();
}

public void Configure(WebApplication app, IWebHostEnvironment env) {
if (!app.Environment.IsDevelopment()) {
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
}
}

Теперь нужно вызвать класс Startup из Program.cs:
var builder = WebApplication.CreateBuilder(args);
var startup = new Startup(builder.Configuration);
startup.ConfigureServices(builder.Services);
var app = builder.Build();
startup.Configure(app, builder.Environment);

Заметьте, что называть методы именами ConfigureServices и Configure вовсе не обязательно. Тем более, что они похожи и часто путают (особенно новичков). Вы можете задать любые имена.

Источник: https://www.c-sharpcorner.com/article/how-to-add-startup-cs-class-in-asp-net-core-6-project/
  • 👍 7
More from @netdeveloperdiary
  1. Oct 14, 2026Post #3373
  2. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
  3. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  4. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  5. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  6. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →