HTTP: Kestrel и типы BadHttpRequestException помечены как устаревшие и замененные
Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException
и Microsoft.AspNetCore.Server.IIS.BadHttpRequestException
были помечены как устаревшие и изменены, чтобы быть производными от Microsoft.AspNetCore.Http.BadHttpRequestException
. Серверы Kestrel и IIS по-прежнему выдают старые типы исключений для обеспечения обратной совместимости. Устаревшие типы будут удалены в будущем выпуске.
Обсуждение этого вопроса см. на странице dotnet/aspnetcore#20614.
Представленные версии
5.0, предварительная версия 4
Старое поведение
Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException
и Microsoft.AspNetCore.Server.IIS.BadHttpRequestException
являются производными от System.IO.IOException.
Новое поведение
Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException
и Microsoft.AspNetCore.Server.IIS.BadHttpRequestException
являются устаревшими. Типы являются производными от Microsoft.AspNetCore.Http.BadHttpRequestException
, который является производным от System.IO.IOException
.
Причина изменения
Изменение было внесено в следующих целях:
- Консолидация повторяющихся типов.
- Унификация поведения различных серверных реализаций.
Теперь приложение может перехватывать базовое исключение Microsoft.AspNetCore.Http.BadHttpRequestException
при использовании Kestrel или IIS.
Рекомендуемое действие
Замените Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException
и Microsoft.AspNetCore.Server.IIS.BadHttpRequestException
на Microsoft.AspNetCore.Http.BadHttpRequestException
.