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 Preview 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
。
變更原因
變更部分:
- 合併重複的類型。
- 統一不同伺服器實作的行為。
使用 Kestrel 或 IIS 時,應用程式現在可以攔截基底例外狀況 Microsoft.AspNetCore.Http.BadHttpRequestException
。
建議的動作
以 Microsoft.AspNetCore.Http.BadHttpRequestException
取代使用 Microsoft.AspNetCore.Server.Kestrel.BadHttpRequestException
和 Microsoft.AspNetCore.Server.IIS.BadHttpRequestException
。