Start Debugging

Тег: csharp

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

Как объявить свойства расширения в C# 14
Свойства расширения появляются в C# 14 через новый блок extension. Объявляйте свойства расширения только для чтения, с сеттером, статические и обобщённые, почему автосвойства отвергаются и как компилятор преобразует их в аксессоры get_/set_.
Как реализовать keyset-пагинацию (cursor pagination) в EF Core 11
Замените Skip/Take на WHERE, который перескакивает за последнюю увиденную строку. Сортируйте по полностью уникальному ключу, переносите значения последней строки как курсор, и EF Core 11 превратит следующую страницу в поиск по индексу вместо сканирования с OFFSET.
Как регистрировать и разрешать сервисы с ключом во внедрении зависимостей .NET 11
Зарегистрируйте несколько реализаций одного типа сервиса под ключом с помощью AddKeyedSingleton/Scoped/Transient, а затем разрешите их через [FromKeyedServices], GetRequiredKeyedService или KeyedService.AnyKey. Регистрации с ключом и без ключа находятся в раздельных таблицах, и именно это сбивает с толку почти всех.
Как валидировать издателя, аудиторию и срок действия JWT в ASP.NET Core 11
Полное руководство по TokenValidationParameters в ASP.NET Core 11: как работают ValidateIssuer, ValidateAudience и ValidateLifetime, какие на самом деле значения по умолчанию, почему Authority автоматически настраивает издателя и ключи подписи, ловушка ClockSkew в 5 минут и как читать коды ошибок IDX, когда отклоняется на вид валидный токен.
Как настроить CORS для защищённого JWT API в ASP.NET Core 11
Полное руководство по CORS для API с токеном bearer в ASP.NET Core 11: правильный порядок UseCors относительно аутентификации, почему токен bearer в заголовке Authorization не является учётными данными CORS, почему AllowAnyHeader работает, а ручной шаблон не покрывает Authorization, и как не дать предварительному запросу завершиться сбоем.
2026-06-21 dotnetefcorecsharp
Как засеять связь многие-ко-многим в EF Core 11
Заполнение таблицы связки для отношения многие-ко-многим в EF Core 11: неявные теневые ключи, которые нужно именовать вручную, шаблон UsingEntity HasData и альтернатива UseSeeding во время выполнения, работающая с навигациями пропуска.
Что такое Span<T> в C# и когда он действительно ускоряет ваш код?
Span<T> -- это ref struct, живущий только в стеке и указывающий на память, которой вы уже владеете, поэтому у него нет собственной аллокации. Он ускоряет код ровно в трёх ситуациях: замена буфера в куче на stackalloc, нарезка без копирования и плотные циклы, где JIT убирает проверки границ. В остальных случаях он ничего не меняет, а через await он не компилируется.
Что такое атрибут DynamicallyAccessedMembers?
DynamicallyAccessedMembers сообщает триммеру .NET и AOT-компилятору, к каким членам типа Type вы обращаетесь через рефлексию, чтобы они были сохранены, а не удалены при тримминге. Он превращает молчаливое исключение MissingMethodException во время выполнения в предупреждение IL2070 на этапе сборки. Вот что делает этот атрибут, как работает лежащий в его основе анализ потока данных и как правильно аннотировать параметры, поля и параметры обобщённых типов.
Вперёд