gRPC 就是 Google的 RPC(遠端程序呼叫)
搭配 .NET Core專案,可以分成 Server端(服務 Service)與 Client端(用戶端)
直接使用 Windows作業系統上的「完整版」Visual Studio操作會比較簡單
如果使用開源版、精簡版的 VS Code那就辛苦了,需要下指令才行…….
如果您以前有學過 Web Service / WCF / WebAPI的話,應該很快就能接受 gRPC
如果沒有學過,請快點來報名(線上課程)底下網址內含優惠折扣
重點 在於他的 ProtoBuf檔(附檔名 .proto)
您在這裡宣告了 (1) gRPC服務的定義、公開的方法
(2) Server與 Client之間 傳遞(Request / 要求)與回傳(Response( gRPC預設名為Reply) / 回應)
Visual Studio在建置專案時,可以幫您自動產生對應的 Service檔案(.cs檔)
不然的話,您就得自己去 Google的 gRPC官方網站,自己下載工具去產生對應的東西
//// (2-1)下載檔案 https://protobuf.dev/downloads/ ,透過 protoc.exe編譯 .proto檔 與 產生相關的檔案
//// (2-2) 把檔案解壓縮,放到您專案的 /Protos 目錄底下
//// 1. 裡面有google內建、提供的 /include/google目錄
//// 2. 但是!!我們自己額外下載的 google/api/*.proto檔案,也需要放到這個目錄下 才能完成編譯!!
//// (2-3) 執行以下指令。幫您產生相關的 .cs檔。
//// 指令最後面的檔名,請自己修改。 (. 表示現在的位置、現在的目錄。)
//// protoc -I=. --csharp_out=. greet2JSON.proto
//// C#工具會從 .proto 檔案產生程式碼。 針對伺服器端資產,會為每個服務產生 "抽象基底" 類型,以及任何訊息的類別。
** 學習管道 與 文章 **
雖然 .NET Core 6.0才是長期支援版(LTS),
但有些相關的 NuGet套件必須搭配 .NET 7.0(並非 長期支援版)才能運作,所以我還是建議用新版本 .NET core吧
必須安裝Nuget套件 Microsoft.AspNetCore.Grpc.JsonTranscoding 才能使用
還需要自己動手,去 google下載兩個 .proto檔放在自己專案裡面,才能運作。
很多步驟可能因為版本或是時間的推進,出現變化
所以實際的操作總是漏東漏西、這裡壞掉、那裡卡住……讓我學習的很辛苦。
為什麼要用 gRPC呢?
其實也很簡單,因為客戶要求,我也得照做……
客戶要求這麼做,就是最大的原動力了!沒有我說三道四的餘地 :-)
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.台灣 或 school (at) mis2000lab.net
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。