使用Grpc的預設專案,建立一個C#的GrpcServer+Client在同一個專案下。
所以大致有以下三個動作:
- 建立範例Grpc Server專案
- 在同一個方案內建立Grpc Client專案
- 將共用的.proto檔案copy到Client中
- 測試專案
建立Grpc Server
- 建立Grpc服務專案
- 設定專案名稱
- 選擇 .Net Core 3.1版本
- Server的方案總管畫面
- 更名Server專案名稱
- 更改資料夾名稱
- 編輯方案檔
- 改寫Server專案路徑
GrpcDemo\Grpc.Server.csproj => Grpc.Server\Grpc.Server.cspro
- 加入第三方套件參考
Server設定完成,執行沒有問題。
建立Grpc Client
- 在同一方案中加入新專案(Client)
- 專案類型選擇主控台
- 設定專案名稱
- 同樣選擇 .Net Core 3.1版本
- 專案建置完成的方案總管截圖
- 將Proto檔Copy到此
- 改寫 .proto檔案內容
|
Server端:改寫option內容 GrpcDemo => Grpc.Server |
|
Server端:加入參考 |
|
Client端:改寫option內容 GrpcDemo => Grpc.Client |
- 調整Grpc.Client.csproj
- 重建方案
- 修改Client程式碼
- static async Task Main(string[] args)
- {
- await Task.Delay(3000);
- using var channel = GrpcChannel.ForAddress("https://localhost:5001");
- var client = new Greeter.GreeterClient(channel);
- Console.WriteLine("請輸入你的名字...");
- string name = Console.ReadLine();
- var reply = client.SayHello(new HelloRequest { Name = name });
- Console.WriteLine("問候語 : " + reply.Message);
- await channel.ShutdownAsync();
- Console.WriteLine("按任何一個鍵退出...");
- Console.ReadKey();
- }
- 從方案屬性調整起始專案
- 開始測試


測試成功!!!
沒有留言:
張貼留言