Start Debugging

Тег: async

30 статей · Страница1из3

Как найти обработчики async void, вызывающие ANR в Android-приложении на .NET MAUI
Play Console сообщает, что доля ANR превысила 0.47%, и выдаёт нативную трассировку, забитую кадрами libcoreclr.so. Разбираем, как перейти от этой бесполезной трассировки к конкретному обработчику события async void, заблокировавшему главный поток: printer для Looper, обёртка SynchronizationContext, называющая машину состояний, и dotnet-trace через dsrouter.
Возврат Task напрямую против проброса через async/await в методе репозитория на C#: что выбрать?
Отказ от async/await в пробрасывающем методе репозитория экономит около 6 нс и 72 байта, а стоит вам кадра стека, семантики try/catch и безопасного освобождения ресурсов. Оставляйте return await, если метод не является чистым пробросом на измеренном горячем пути.
Как тестировать зависящий от времени код с TimeProvider и FakeTimeProvider в .NET 11
Замените DateTime.UtcNow, Stopwatch и Task.Delay на System.TimeProvider, чтобы тесты управляли часами: регистрация во внедрении зависимостей, FakeTimeProvider.Advance и SetUtcNow, тестирование таймаутов и BackgroundService на PeriodicTimer, а также подводные камни с продолжениями после Advance и с xUnit v2.
Переход от блокирующих вызовов .Result/.Wait() к сквозной асинхронности в устаревшей кодовой базе на C#
Поэтапный план удаления sync-over-async из существующей кодовой базы .NET: инвентаризация анализаторами, измерение истощения ThreadPool, перевод по одной цепочке вызовов и доведение счётчика до нуля на .NET 11.
Вперёд