Start Debugging

Тег: aspnetcore

20 статей · Страница1из2

BackgroundService vs IHostedService vs Hangfire для фоновых задач в .NET 11
Выбирайте BackgroundService для внутрипроцессных циклов, чистый IHostedService для тонкого контроля жизненного цикла и Hangfire, когда задачи должны переживать перезапуск. Матрица принятия решений с кодом и одна деталь, которая решает за вас.
Как безопасно выполнять fire-and-forget работу в ASP.NET Core с помощью BackgroundService
Вызов Task.Run из контроллера теряет работу при остановке, проглатывает исключения и захватывает уже освобождённые scoped-сервисы. Безопасный паттерн - ограниченная очередь Channel, которую опустошает BackgroundService, открывая новый scope для каждой единицы работы и завершая выполняемую работу в StopAsync.
Как использовать scoped-сервисы внутри BackgroundService в ASP.NET Core 11
BackgroundService является синглтоном, поэтому не может напрямую внедрить scoped-сервис вроде DbContext. Внедрите IServiceScopeFactory, открывайте один scope на единицу работы через CreateAsyncScope, разрешайте сервис внутри него и освобождайте scope по завершении работы.
Blazor Server vs Blazor WebAssembly vs Blazor United в .NET 11: что выбрать в 2026 году?
Для любого нового Blazor-приложения на .NET 11 создавайте Blazor Web App (шаблон, ранее известный как Blazor United) и выбирайте режим рендеринга для каждой страницы. Шаблоны только Server или только WebAssembly остаются оправданными лишь в узких случаях.
Minimal APIs vs контроллеры в ASP.NET Core 11: что выбрать в 2026 году?
В ASP.NET Core 11 по умолчанию выбирайте minimal APIs. Контроллеры берите только тогда, когда нужны возможности MVC, которые minimal APIs всё ещё не покрывают: маршрутизация по соглашениям для множества действий, фильтры в стиле MVC или Razor-представления.
2026-05-10 errorscsharpdotnet
Исправление: Unable to resolve service for type 'X' while attempting to activate 'Y'
ASP.NET Core выбрасывает это исключение, когда конструктор запрашивает тип, который никогда не был зарегистрирован, был зарегистрирован в другом контейнере или был добавлен после построения хоста. Три конкретных исправления покрывают почти все случаи.
Вперёд