Start Debugging

Тег: dotnet

393 статей · Страница13из40

Переход от блокирующих вызовов .Result/.Wait() к сквозной асинхронности в устаревшей кодовой базе на C#
Поэтапный план удаления sync-over-async из существующей кодовой базы .NET: инвентаризация анализаторами, измерение истощения ThreadPool, перевод по одной цепочке вызовов и доведение счётчика до нуля на .NET 11.
Переход от интерполяции строк в ILogger к шаблонам сообщений структурированного журналирования в .NET 11
Пошаговое руководство по переводу вызовов ILogger с $-интерполяцией на шаблоны сообщений и методы, сгенерированные через [LoggerMessage], в .NET 11: что ломается, как пройтись по кодовой базе с CA2254, как проверить состояние JSON и как откатиться.
Фильтры endpoint против middleware в ASP.NET Core 11: что выбрать?
Руководство по выбору для ASP.NET Core 11: middleware выполняется для каждого запроса до того, как ваш handler привяжет данные, фильтры endpoint выполняются только для совпавшей конечной точки, после привязки, и могут видеть типизированные аргументы. Включает сравнительную таблицу, сценарии выбора каждого варианта, правила порядка и детали, которые вынуждают выбор.
Typed results (Results<>) против IResult против IActionResult в ASP.NET Core 11
В ASP.NET Core 11 возвращайте Results<T1, TN> с TypedResults для minimal API и ActionResult<T> для контроллеров. Относитесь к голым IResult и IActionResult как к аварийным выходам: они компилируются для любого ответа, но ничего не сообщают OpenAPI, так что за них вы расплачиваетесь написанными вручную атрибутами ProducesResponseType.
Решение: CS8618 "Non-nullable property must contain a non-null value when exiting constructor" в C#
CS8618 означает, что ссылочное поле или свойство, не допускающее null, не было инициализировано к моменту завершения конструктора. Присвойте его в конструкторе, задайте значение по умолчанию, пометьте required или сделайте допускающим null.
Назад Вперёд