HTTP:Kestrel 和 IIS BadHttpRequestException 类型标记为已过时并已替换

Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestExceptionMicrosoft.AspNetCore.Server.IIS.BadHttpRequestException 已标记为已过时,并已更改为从 Microsoft.AspNetCore.Http.BadHttpRequestException 派生。 为了实现后向兼容性,Kestrel 和 IIS 服务器仍会引发旧的异常类型。 未来版本将删除这些过时的类型。

有关讨论,请参阅 dotnet/aspnetcore#20614

引入的版本

5.0 预览版 4

旧行为

Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestExceptionMicrosoft.AspNetCore.Server.IIS.BadHttpRequestException 派生自 System.IO.IOException

新行为

Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestExceptionMicrosoft.AspNetCore.Server.IIS.BadHttpRequestException 已过时。 这些类型还派生自 Microsoft.AspNetCore.Http.BadHttpRequestException(派生自 System.IO.IOException)。

更改原因

此更改的目的是:

  • 合并重复类型。
  • 跨服务器实现统一行为。

现在,使用 Kestrel 或 IIS 时,应用可以捕获基本异常 Microsoft.AspNetCore.Http.BadHttpRequestException

Microsoft.AspNetCore.Http.BadHttpRequestException 替换 Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestExceptionMicrosoft.AspNetCore.Server.IIS.BadHttpRequestException 的用法。

受影响的 API