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端口,运行服务端和客户端
调用成功