HTTP:Kestrel 和 IIS 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.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.Server.Kestrel.BadHttpRequestExceptionMicrosoft.AspNetCore.Server.IIS.BadHttpRequestException替换为 Microsoft.AspNetCore.Http.BadHttpRequestException

受影响的 API