Start Debugging

Тег: csharp

341 статей · Страница14из35

Что такое многоуровневая компиляция и как о ней рассуждать?
Многоуровневая компиляция позволяет JIT в .NET компилировать каждый метод дважды: сначала быстро и без оптимизаций, чтобы приложение запустилось, а затем ещё раз с полными оптимизациями, когда среда выполнения узнаёт, что метод горячий. Здесь показано, как tier 0, tier 1, замена на стеке и Dynamic PGO складываются вместе, и как их наблюдать и настраивать.
Что такое контракт IHostedService и когда его использовать?
IHostedService -- это интерфейс из двух методов (StartAsync/StopAsync), которые универсальный хост .NET вызывает при запуске и корректном завершении. Вот что гарантирует контракт, когда реализовывать его напрямую и какие изменения поведения в .NET 10 и 11 застают людей врасплох.
Что такое trim-safe код и как его писать?
Trim-safe код -- это код, который триммер .NET может статически доказать как достижимый, поэтому он выживает при удалении неиспользуемого кода из self-contained приложения. Это практическое руководство: включите анализатор, доведите каждое предупреждение IL2xxx до нуля, аннотируйте рефлексию с помощью DynamicallyAccessedMembers, распространите RequiresUnreferencedCode на публичные API и замените неанализируемые паттерны генераторами исходного кода.
Как настроить ответы об ошибках валидации в minimal API с помощью IProblemDetailsService в ASP.NET Core 11
Вызовите AddProblemDetails с колбэком CustomizeProblemDetails, чтобы изменить форму ответа 400, который встроенная валидация minimal API возвращает в ASP.NET Core 11: добавьте traceId, перепишите title, замените 400 на 422 или получите полный контроль с помощью собственного IProblemDetailsWriter.
Как настроить JWT bearer-аутентификацию в minimal API в ASP.NET Core 11
Полная рабочая настройка JWT bearer-аутентификации в minimal API в ASP.NET Core 11: установить пакет, подключить AddAuthentication().AddJwtBearer(), выпустить токен, защитить endpoint через RequireAuthorization, добавить политики ролей и claim, и протестировать всё это с помощью dotnet user-jwts.
2026-07-03 dotnetefcorecsharp
Как использовать именованные фильтры запросов для мягкого удаления и мультитенантности в EF Core 11
Примените два независимых глобальных фильтра запросов к одной сущности в EF Core 11: фильтр мягкого удаления и фильтр тенанта, каждый с именем, чтобы можно было отключить один без другого через IgnoreQueryFilters.
Как пробросить CancellationToken через асинхронные методы в .NET 11
Проведите CancellationToken чисто через каждый слой асинхронной цепочки вызовов в .NET 11: соглашение о последнем параметре, значения по умолчанию, связанные токены, RequestAborted в ASP.NET Core и анализатор CA2016, который находит забытые.
Ограничение времени выполнения асинхронной операции с помощью CancellationTokenSource.CancelAfter в C#
Используйте CancellationTokenSource.CancelAfter для задания дедлайна асинхронных операций в .NET 11: конструктор против CancelAfter, связанные токены, обработка исключений, Task.WaitAsync, TryReset для пула объектов и тестируемые тайм-ауты с TimeProvider.
Назад Вперёд