dotnet framework4.5.2调用dotnetcore grpc

创建GPRC项目

 

 运行

新建dotnet framework 4.5.2的winform项目

 

 

 

 添加nuget包,Google.Protobuf  Grpc.Tools  Grpc.Core,然后把服务端的proto文件复制到winform项目里面

 

 更改proto文件的属性

 

 添加控件到窗体上

 

 添加按钮点击事件

 private void button1_Click(object sender, EventArgs e)
        {
            var channel = new Channel("localhost", 5001, ChannelCredentials.Insecure);
            var client = new Greeter.GreeterClient(channel);
            var reply = client.SayHelloAsync(
                new HelloRequest { Name = "李德镇" }).GetAwaiter().GetResult();
            MessageBox.Show("Greeting: " + reply.Message);
        }

这个时候运行程序客户端会报错 Grpc.Core.RpcException:“Status(StatusCode="Unavailable", Detail="failed to connect to all addresses", 

 

 这个是因为 服务端是https 而客户端是用http协议来调用的,所以才会出现错误,解决方法:

修改服务端的program文件  用5000端口

 

 更改后

 

 客户端也改成5000端口,运行服务端和客户端

 

 调用成功

 

posted @ 2021-02-03 21:58  悳鎭  阅读(990)  评论(5编辑  收藏  举报