Start Debugging

Тег: aspnetcore

64 статей · Страница1из7

Как валидировать опции при старте с помощью IValidateOptions<T> в .NET 11
Реализуйте IValidateOptions<T>, зарегистрируйте его во внедрении зависимостей и добавьте ValidateOnStart, чтобы неверный appsettings.json убивал процесс, а не первый запрос, который его затронет. Разбираются перегрузка Validate<TValidator>() из .NET 11, асинхронная валидация через IAsyncValidateOptions<T> и три случая, когда ValidateOnStart молча ничего не делает.
Как настроить Kestrel для работы по HTTP/3 в ASP.NET Core 11
Полное руководство по включению HTTP/3 в Kestrel в ASP.NET Core 11: настройка конечной точки через HttpProtocols.Http1AndHttp2AndHttp3, требования MsQuic к платформе в Windows, Linux и macOS, почему первый запрос никогда не идёт по HTTP/3, проверка через HttpClient и middleware, настройка QuicTransportOptions и проблемы с firewall и прокси, из-за которых происходит тихий откат.
IOptions<T> vs IOptionsSnapshot<T> vs IOptionsMonitor<T> в .NET 11
По умолчанию используйте IOptions<T>. Берите IOptionsMonitor<T>, когда синглтон должен видеть перезагрузку конфигурации, и IOptionsSnapshot<T> только тогда, когда scoped-потребителю нужно значение, стабильное в пределах одного запроса. Решает время жизни потребителя, а не форма настроек.
2026-07-30 errorsblazordotnet
Исправление: JavaScript interop calls cannot be issued at this time (предварительный рендеринг Blazor)
Предварительный рендеринг выполняет компонент на сервере без браузера, поэтому IJSRuntime бросает исключение. Перенесите вызов в OnAfterRenderAsync, проверяйте RendererInfo.IsInteractive или отключите предварительный рендеринг.
Как добавить Aspire в существующее решение ASP.NET Core без его перестройки
Добавление Aspire 13.4 в унаследованное решение ASP.NET Core: два новых проекта и три строки на сервис. aspire init, связывание AppHost через AddProject и WithReference, сохранение существующих launchSettings.json и строк подключения, а также подводные камни с резилентностью, health-эндпоинтами и прокси в первый же день.
Как писать интеграционные тесты с WebApplicationFactory<T> в ASP.NET Core 11
Полное руководство по WebApplicationFactory<TEntryPoint> в ASP.NET Core 11: как сделать точку входа Program доступной, ConfigureTestServices против ConfigureWebHost, замена регистрации EF Core через IDbContextOptionsConfiguration, новый хук ConfigureHostApplicationBuilder в .NET 11 preview 6, подделка аутентификации, WebApplicationFactoryClientOptions и UseKestrel, когда нужен настоящий порт.
Фильтры 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.
WebApplication.CreateBuilder vs CreateSlimBuilder vs CreateEmptyBuilder в ASP.NET Core 11
Используйте CreateBuilder для обычного приложения, CreateSlimBuilder, когда публикуете с обрезкой или Native AOT за TLS-прокси, и CreateEmptyBuilder только тогда, когда хотите зарегистрировать все сервисы сами. Вот матрица возможностей и подводные камни, которые определяют выбор.
Вперёд