Start Debugging

Тег: dotnet-11

279 статей · Страница6из28

Как настроить сериализацию System.Text.Json, сгенерированную генератором исходного кода, с помощью модификатора type info resolver
Как подключить модификатор JsonTypeInfo к сгенерированному JsonSerializerContext в .NET 11: почему new MyContext(options) молча его отбрасывает, рабочая схема с WithAddedModifier, быстрый путь, который вы теряете (с измерениями), и ловушка политики именования, из-за которой модификатор ничего не делает.
Как переопределить обработчик отказоустойчивости, который регистрирует Aspire
AddServiceDefaults в Aspire применяет стандартный обработчик отказоустойчивости к каждому HttpClient. Повторный вызов AddStandardResilienceHandler не заменяет его, а добавляет второй обработчик поверх первого. Здесь разобраны три реальных способа переопределения, недокументированное имя настроек -standard и бесконечный тайм-аут, который вы получаете, если просто удалить обработчик.
Как переименовать таблицу в миграции EF Core 11 без потери данных
EF Core генерирует RenameTable, когда вы меняете имя таблицы, но DropTable плюс CreateTable, когда вы переименовываете класс сущности. Здесь разобрано, как различать эти два случая, приём с ToTable, который делает переименование класса бесплатным, и баг переименования столбцов, который молча меняет ваши данные местами.
Как запустить файловое приложение на C# командой `dotnet run app.cs` в .NET 11
Полное руководство по файловым приложениям на C#: запуск одного файла .cs через dotnet run, директивы #:package, #:sdk, #:property, #:project и #:include, многофайловые скрипты с #:ref, обработка аргументов и stdin, кеш сборки, публикация с native AOT, упаковка в виде инструмента dotnet и dotnet project convert, когда скрипт перерастает себя.
Исправление: Attempting to reconnect to the server после обрыва circuit в Blazor Server
Модальное окно переподключения означает, что оборвался circuit SignalR, а не что приложение упало. Определите, чем закончилась попытка, failed или rejected, и почините привязку сессий, окно хранения в 3 минуты, лимит 32 КБ или сохраните состояние через [PersistentState].
gRPC vs REST vs SignalR для вызовов между сервисами в .NET 11
Для внутренних вызовов между сервисами в .NET 11 по умолчанию выбирайте gRPC, когда вы владеете обеими сторонами контракта и вызов идёт точка-точка. Используйте REST с JSON, когда сервис должен вызывать что-то, что вы не контролируете. SignalR не является RPC-транспортом между сервисами: обращайтесь к нему только тогда, когда один производитель должен разослать сообщение многим долгоживущим потребителям.
Исправление: HTTP Error 500.30 - ASP.NET Core app failed to start после развёртывания на IIS
500.30 означает, что приложение выбросило исключение при запуске внутри w3wp.exe. Настоящее исключение уже находится в журнале приложений Windows под источником IIS AspNetCore Module V2. Сначала прочитайте его, а затем расставьте приоритеты: отсутствующий общий фреймворк, несоответствие разрядности пула приложений, отсутствующая конфигурация или права пула.
Как реализовать оптимистичную конкурентность с токеном rowversion в EF Core 11
Добавляем токен конкурентности rowversion в EF Core 11: настройка через [Timestamp] и IsRowVersion, SQL, который EF действительно генерирует, перехват DbUpdateConcurrencyException, побеждает база vs побеждает клиент vs слияние, отсоединённые API с ETag и пять ловушек, которые молча отключают всю защиту.
Назад Вперёд