You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a large C# repo which targets .NET framework 48 and would like to use Arrow Flight.
Problem
Right now in order to create a FlightClient in C# you need to create and pass it an instance of Grpc.Net.Client.GrpcChannel which internally requires a HTTP client that supports HTTP/2.
Unfortunately on .NET framework 48 the HTTP client only supports HTTP/1.0 and HTTP/1.1.
The suggested solution is instead to use Grpc.Core.Channel however we can't instantiate a FlightClient with this type of channel.
…39348)
as well as Grpc.Net.Client.GrpcChannel by changing our constructor arg to Grpc.Core.ChannelBase which both classes inherit from.
### Rationale for this change
### What changes are included in this PR?
Changing the constructor of C#'s Flight Client to take in a ChannelBase which allows for multiple implementations of gRPC channels to be passed in.
### Are these changes tested?
Existing tests already cover the use but have also manually tested in a separate app (
### Are there any user-facing changes?
No as we're just changing the constructor to take in a parent/base class instead.
* Closes: #39335
Authored-by: John Garland <johnnybg@gmail.com>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
…nnel (apache#39348)
as well as Grpc.Net.Client.GrpcChannel by changing our constructor arg to Grpc.Core.ChannelBase which both classes inherit from.
### Rationale for this change
### What changes are included in this PR?
Changing the constructor of C#'s Flight Client to take in a ChannelBase which allows for multiple implementations of gRPC channels to be passed in.
### Are these changes tested?
Existing tests already cover the use but have also manually tested in a separate app (
### Are there any user-facing changes?
No as we're just changing the constructor to take in a parent/base class instead.
* Closes: apache#39335
Authored-by: John Garland <johnnybg@gmail.com>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
dgreiss
pushed a commit
to dgreiss/arrow
that referenced
this issue
Feb 19, 2024
…nnel (apache#39348)
as well as Grpc.Net.Client.GrpcChannel by changing our constructor arg to Grpc.Core.ChannelBase which both classes inherit from.
### Rationale for this change
### What changes are included in this PR?
Changing the constructor of C#'s Flight Client to take in a ChannelBase which allows for multiple implementations of gRPC channels to be passed in.
### Are these changes tested?
Existing tests already cover the use but have also manually tested in a separate app (
### Are there any user-facing changes?
No as we're just changing the constructor to take in a parent/base class instead.
* Closes: apache#39335
Authored-by: John Garland <johnnybg@gmail.com>
Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
Describe the enhancement requested
Context
We have a large C# repo which targets .NET framework 48 and would like to use Arrow Flight.
Problem
Right now in order to create a
FlightClient
in C# you need to create and pass it an instance of Grpc.Net.Client.GrpcChannel which internally requires a HTTP client that supports HTTP/2.Unfortunately on .NET framework 48 the HTTP client only supports HTTP/1.0 and HTTP/1.1.
The suggested solution is instead to use Grpc.Core.Channel however we can't instantiate a
FlightClient
with this type of channel.Proposal
We could support creating
FlightClient
with Grpc.Core.Channel as well as the existing Grpc.Net.Client.GrpcChannel.Update: this is actually trivial to do as they both inherit from Grpc.Core.ChannelBase
Component(s)
C#
The text was updated successfully, but these errors were encountered: