1、新建netcore控制台应用程序
2、NuGet包下载安装
Grpc.Net.Client
Google.ProtoBuf
Grpc.Tools
3、新建Protos文件夹,将服务端的greet.proto复制到该文件夹下
syntax = "proto3"; option csharp_namespace = "MyGrpcWeb"; package MyGrpc; // The greeting service definition. service TestGrpc { // Sends a greeting rpc TestSay (TestRequest) returns (TestReply); rpc StreamingFromServer(ExampleRequest) returns (stream ExampleResponse); rpc StreamingFromClient(stream ExampleRequest) returns (ExampleResponse); rpc StreamingBothWays(stream ExampleRequest) returns (stream ExampleResponse); } // The request message containing the user's name. message TestRequest { string name = 1; } // The response message containing the greetings. message TestReply { string message = 1; } message ExampleRequest{ int32 pageIndex=1; int32 pageSize=2; bool isDescending=3; } message ExampleResponse{ string name=1; string sex=2; }
4、设置属性
5、重新生成解决方案
6、客户端引用
7、新建GrpcServer.cs
using Grpc.Net.Client; using MyGrpcWeb; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace WebApplication1.GrpcService { public class GrpcServer { private readonly TestGrpc.TestGrpcClient _testGrpcClient; private readonly GrpcChannel _channel; public TestGrpc.TestGrpcClient MyGrpcClient { get { return _testGrpcClient; } } public GrpcServer() { _channel = GrpcChannel.ForAddress("http://localhost:5000"); _testGrpcClient = new TestGrpc.TestGrpcClient(_channel); } } }