首页 > 其他 > 详细

grpc 错误记录一下 掉坑里爬了三天

时间:2021-05-29 17:57:00      阅读:134      评论:0      收藏:0      [点我收藏+]
RpcException: Status(StatusCode=Internal, Detail="Error starting gRPC call. HttpRequestException: An error occurred while sending the request. IOException: The response ended prematurely, with at least 9 additional bytes expected.")

  经常报这样的错我。我把坑了好几天。。。

记录一下

第一步   制定kestrel  监听的端口    并制定是http2 协议

  public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.ConfigureKestrel(option =>
                    {
                        option.ListenLocalhost(5001, o => o.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http2);
                    });
                    webBuilder.UseStartup<Startup>();
                });
    }

  第二部 客户端调用时候 

 AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);

                string targetUrl = "http://localhost:5001";
                using (var channel = GrpcChannel.ForAddress(targetUrl))
                {
                    var client = new Score.ScoreClient(channel);

                    Console.WriteLine("***************单次调用************");
                    {
                        var reply = await client.GetScoreAsync(new ScoreRequest() { LessonId = "123" });
                        string result = Newtonsoft.Json.JsonConvert.SerializeObject(reply.Score);
                        Console.WriteLine($"ScoreClient {Thread.CurrentThread.ManagedThreadId} 服务返回数据1:{result} ");
                        base.ViewBag.Result = result;
                    }
                }

 

grpc 错误记录一下 掉坑里爬了三天

原文:https://www.cnblogs.com/jasontarry/p/14825675.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!