Start Debugging

Тег: csharp

178 статей · Страница2из18

Как валидировать тело запроса в minimal API без контроллеров в ASP.NET Core 11
В ASP.NET Core 11 есть встроенная валидация для minimal API: вызовите AddValidation, разметьте record запроса атрибутами DataAnnotations, и генератор исходного кода проверит связанную модель и вернёт 400 ProblemDetails ещё до запуска вашего обработчика. Без контроллеров, без FluentValidation, без ручных проверок.
Миграция Azure Functions с модели in-process на изолированный worker (.NET 8 / .NET 11)
Пошаговый чек-лист для перевода .NET-приложения Azure Functions с модели in-process на изолированный worker до прекращения поддержки 10 ноября 2026 года, с диффами csproj, переписыванием сигнатур и развёртыванием через обмен слотами.
EF Core ExecuteUpdate против загрузки сущностей и SaveChanges: что выбрать?
Руководство по выбору и реальный benchmark для EF Core 11: используйте ExecuteUpdate для множественных записей по предикату, а путь загрузить-затем-SaveChanges только тогда, когда нужен отслеживатель изменений, перехватчики или сложный граф объектов.
EF Core 11 Preview 4: Хватит заново вводить --project и --startup-project с .config/dotnet-ef.json
EF Core 11 Preview 4 позволяет инструменту dotnet ef читать значения опций по умолчанию из файла .config/dotnet-ef.json, так что многопроектные решения больше не вынуждают передавать --project и --startup-project в каждой команде.
Как использовать разделение запросов, чтобы избежать декартова взрыва в EF Core 11
Когда вы делаете Include двух одноуровневых коллекций, EF Core 11 возвращает декартово произведение, и число строк взрывается. Вот как это исправляет AsSplitQuery, как включить его глобально и какие тонкости согласованности и упорядочивания нужно учитывать.
Как безопасно выполнять fire-and-forget работу в ASP.NET Core с помощью BackgroundService
Вызов Task.Run из контроллера теряет работу при остановке, проглатывает исключения и захватывает уже освобождённые scoped-сервисы. Безопасный паттерн - ограниченная очередь Channel, которую опустошает BackgroundService, открывая новый scope для каждой единицы работы и завершая выполняемую работу в StopAsync.
Назад Вперёд