dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.54k stars 4.54k forks source link

[HTTP/3] Support on WinHttpHandler #103561

Open ManickaP opened 2 weeks ago

ManickaP commented 2 weeks ago

Consider enabling H/3 for WinHttpHandler, see WINHTTP_PROTOCOL_FLAG_HTTP3.

Also find out if it's possible to turn on multiple connections for H/3 (or if it's the same option as for H/2 WINHTTP_OPTION_DISABLE_STREAM_QUEUE) and consider adding EnableMultipleHttp3Connections (same as EnableMultipleHttp2Connections).

dotnet-policy-service[bot] commented 2 weeks ago

Tagging subscribers to this area: @dotnet/ncl See info in area-owners.md if you want to be subscribed.

stephentoub commented 2 weeks ago

I assume WinHttpHandler uses msquic? If nothing else, this would be a good way to help validate the performance of the managed layer used by SocketsHttpHandler / System.Net.Quic, as the native quic implementation would be shared between the two.