Skip to content

Developers can call gRPC services from .NET Framework #5713

Closed
@JamesNK

Description

@JamesNK

Problem:

MS guidance is to migrate WCF apps to gRPC where possible when moving from .NET Framework to .NET Core. Migrating multiple inter-connected apps is a big task and is difficult to do all at once. There is a transitionary period where older .NET Framework apps will hang around and need to use newer gRPC services. There needs to be a good gRPC client solution on .NET Framework.

Our new gRPC client, Grpc.Net.Client, supports .NET Core 3 and later. .NET Framework apps must use Grpc.Core on .NET Framework. Grpc.Core is functional, but its TLS stack is problematic because it doesn't integrate with Windows cert store and breaks guidance. This blocks some customers from calling gRPC from the .NET Framework, and complicates their migration from .NET Framework to .NET Core/.NET 5.

Solution:

Grpc.Net.Client could be updated to support .NET Framework by using WinHttpHandler as its HTTP stack. WinHttp doesn't have the TLS issues that Grpc.Core does and would unblock customers.

For Grpc.Net.Client to support .NET Framework, WinHttpHandler will need to be updated to support HTTP/2 trailing headers, and to verify that it supports bidirectional streaming:

Future:

Metadata

Metadata

Labels

Priority:2Work that is important, but not critical for the releaseUser StoryA single user-facing feature. Can be grouped under an epic.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions