Start Debugging

Тег: dotnet-11

278 статей · Страница2из28

SignalR в .NET 11 RC 1 меняет истекающий токен, не разрывая соединение
API обновления аутентификации SignalR финализированы в .NET 11 RC 1: переименованные обратные вызовы у HubConnection, клиент на TypeScript и цепи Blazor Server, которые автоматически подхватывают обновлённый ClaimsPrincipal.
Как прочитать ответ ProblemDetails по RFC 9457 из типизированного HttpClient, не ссылаясь на ASP.NET Core
В BCL нет типа ProblemDetails, а добавление FrameworkReference на Microsoft.AspNetCore.App приводит к тому, что клиент отказывается запускаться в контейнере, где есть только среда выполнения. Вот модель на 20 строк, DelegatingHandler, который превращает problem+json в типизированное исключение, и миф про content-type, который до сих пор повторяет большинство ответов.
Как найти обработчики async void, вызывающие ANR в Android-приложении на .NET MAUI
Play Console сообщает, что доля ANR превысила 0.47%, и выдаёт нативную трассировку, забитую кадрами libcoreclr.so. Разбираем, как перейти от этой бесполезной трассировки к конкретному обработчику события async void, заблокировавшему главный поток: printer для Looper, обёртка SynchronizationContext, называющая машину состояний, и dotnet-trace через dsrouter.
Как использовать пессимистичную блокировку с UPDLOCK и SELECT ... FOR UPDATE в EF Core 11
В EF Core 11 по-прежнему нет API блокировок. Разбираем, как взять настоящую блокировку строки через FromSql: WITH (UPDLOCK, ROWLOCK) в SQL Server, FOR UPDATE в PostgreSQL, ловушка с подзапросом, которая молча расширяет блокировку, NOWAIT и SKIP LOCKED, повторы при дедлоках и что делать, когда строки ещё нет.
Как написать value converter в EF Core 11, который преобразует null из базы данных в ненулевое значение в коде
По умолчанию EF Core никогда не передаёт null в value converter. Разбираем внутренний конструктор convertsNulls, который это меняет, вызов IsRequired(false), от которого он зависит, почему он не работает с enum и другими типами значений, ловушку WHERE col = NULL, которую он создаёт, и два подхода, решающие задачу без внутреннего API.
Что такое режим рендеринга в Blazor и какой из них выполняет мой компонент?
Режим рендеринга определяет, где выполняется компонент Razor и является ли он интерактивным. Здесь разобраны четыре режима в .NET 11, правила наследования, определяющие, что получит ваш компонент, и свойства RendererInfo и AssignedRenderMode, которые во время выполнения показывают, какой режим победил.
Что такое перехватчик EF Core и когда он нужен?
Перехватчик EF Core - это класс, который EF вызывает до и после операций вроде выполнения команды или SaveChanges и который может изменить или подавить их, а не только наблюдать. Здесь разобраны семь точек перехвата в EF Core 11, правила регистрации и времени жизни, а также случаи, когда фильтр запроса или обычное журналирование подходят лучше.
Переводим приложение .NET MAUI для Android на целевой уровень API 36
Google Play требует целевой уровень API 36 с 2026-08-31, продления действуют до 2026-11-01. Полный путь .NET MAUI от net9.0-android до API 36: смена target framework, жёстко прописанный uses-sdk, который молча удерживает старый уровень, режим edge-to-edge без возможности отказа, предиктивный жест назад и правила для больших экранов.
2026-09-04 dotnetnative-aotjit
Что такое флаг W^X в .NET и нужен ли он Native AOT?
W^X (write xor execute) - правило, по которому ни одна страница памяти не бывает одновременно записываемой и исполняемой. В .NET это переключатель DOTNET_EnableWriteXorExecute, включённый по умолчанию с .NET 7, и существует он исключительно ради JIT. Native AOT его никогда не читает. Разбираем, как среда выполнения его реализует, во что он обходится и когда его отключение - законное решение.
Назад Вперёд