core icon indicating copy to clipboard operation
core copied to clipboard

Grpc.Net.Client does not support HTTP/2 on Windows 10 with NET Framework (There is no replacement for Grpc.Core.)

Open chuchu opened this issue 2 years ago • 1 comments

Description

As documented here Grpc.Core will be EOL in May this year. For clients the proposed replacement is Grpc.Net.Client which supports .NET Core and .NET Framework.

Unfortunately Grpc.Net.Client does not support HTTP/2 on Windows 10 with the NET Framework. As documented here only Windows 11 is supported. This means that there is no suitable replacement Grpc.Core.

Windows 10 is widely used and is supported until October 2025 according to here. We (and most likely other) have a big .NET Framework code base.

We have considered gRPC has a kind of bridge technology between the legacy .NET Framework stuff and new .NET Core Services. In the past we have used a lot of WCF but this is deprecated as well. If gRPC cannot be used on Windows 10 with the NET ecosystem we can use REST and Web Sockets internally. For services from external parties which come with gRPC only this is not possible.

Please fully support Grpc.Net.Client on Windows 10. The Windows 10 insider build 19622 did support it but for some reason it was not integrated on the mainline.

Configuration

  • Any Windows 10
  • Any .NET Framework.

chuchu avatar Jan 11 '23 08:01 chuchu

Note - this is not ASP.NET, as this is specifically about the client. Also, I'm not on the ASP.NET Team anymore.

Regardless, @JamesNK can probably address this.

Pilchie avatar Jan 13 '23 19:01 Pilchie

@greenEkatherine: Can you please check the assigned label. The issue is not related to asp.net. It is more related to the net framework when using the Grpc.Net.Client net standard library.

chuchu avatar Jan 30 '23 13:01 chuchu

Grpc.Net.Client relies on WinHTTP to support HTTP/2 when used with .NET Framework. WinHTTP is the HTTP library built into Windows.

Features were added to WinHTTP to fully support gRPC, but they were only added to newer versions of Windows. Unfortunately they aren't being backported to older versions of Windows, which is why Windows 11 or later is required.

JamesNK avatar Jan 30 '23 13:01 JamesNK

The question has been answered, so I'll close the issue.

carlossanlop avatar Feb 01 '23 22:02 carlossanlop