Start Debugging

Блог

Страница 56 из 91

Native AOT против ReadyToRun против JIT в .NET 11: что выбрать для поставки?

Классический JIT с Dynamic PGO выигрывает по пропускной способности в установившемся режиме, ReadyToRun ускоряет запуск без изменений кода, а Native AOT даёт самый маленький и быстро стартующий бинарник ценой рефлексии и динамического кода. Выбирайте по форме развёртывания, а не по изолированным бенчмаркам.

ConfigureAwait(false) vs значение по умолчанию в .NET 11: имеет ли это ещё значение?

ConfigureAwait(false) по-прежнему обязателен в библиотечном коде, который может выполняться под SynchronizationContext (WinForms, WPF, MAUI). В коде приложения на ASP.NET Core, консольном приложении или worker-сервисе, работающих на .NET 11, это no-op.

Cursor 3.4 добавляет мультирепозиторные окружения и ускоряет сборки Dockerfile для облачных агентов

Cursor 3.4 (13 мая 2026) позволяет одному окружению облачного агента включать несколько репозиториев, добавляет секреты сборки для Dockerfile, пересборки с кэшем слоёв на 70% быстрее и шаг настройки под управлением агента, который проверяет учётные данные до первого запуска.

IEnumerable vs IAsyncEnumerable vs IQueryable в C#: что должен возвращать метод?

Три интерфейса последовательностей, три модели выполнения. Используйте IQueryable, когда база данных может транслировать запрос, IAsyncEnumerable, когда производитель асинхронный и вам нужна потоковая передача, IEnumerable для всего остального в памяти.

Minimal APIs vs контроллеры в ASP.NET Core 11: что выбрать в 2026 году?

В ASP.NET Core 11 по умолчанию выбирайте minimal APIs. Контроллеры берите только тогда, когда нужны возможности MVC, которые minimal APIs всё ещё не покрывают: маршрутизация по соглашениям для множества действий, фильтры в стиле MVC или Razor-представления.

async void vs async Task в C#: когда какой вариант правильный

async Task - значение по умолчанию, а async void - исключение. Используйте async void только для обработчиков событий, обработчиков верхнего уровня в цикле сообщений и небольшого набора колбэков фреймворка, которые требуют сигнатуры void. Везде остальном async Task выигрывает по обработке исключений, композиции и тестируемости.