Environmental description
- .net core 3.1, refer to the configuration of Microsoft’s official website
- Microsoft’s project code address
Error content
Grpc.Core.RpcException:“Status(StatusCode=Internal, Detail="Error starting gRPC call: An error occurred while sending the request.")”
Solution
Problem solving instructions 1
Problem solving instructions 2
Add the AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
client code before the client grpc request as follows
static async Task Main(string[] args)
{
// The port number(5001) must match the port of the gRPC server.
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
using var channel = GrpcChannel.ForAddress("http://localhost:5001");
var client = new Greeter.GreeterClient(channel);
var reply = await client.SayHelloAsync(
new HelloRequest { Name = "GreeterClient" });
Console.WriteLine("Greeting: " + reply.Message);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
Suggestion: go directly.NET 5