GRpc添加客戶端的五種方式


隨着微服務的發展,相信越來越多的.net人員也開始接觸GRpc這門技術,大家生成GRpc客戶端的方式也各不相同,今天給大家介紹一下依據Proto文件生成Rpc客戶端的五種方式

前提:需要安裝4個Nuget包
Google.Protobuf、Grpc、GRpc.Net.ClientFactory、GRpc.Tools
VS安裝命令如下
Install-Package Google.Protobuf
Install-Package Grpc
Install-Package GRpc.Net.ClientFactory
Install-Package GRpc.Tools

准備工作

首先我們新建一個簡單的.net core3.1類庫 命名為:GRpc.Proto 然后添加HelloWord.Proto 添加一個簡單的協議

syntax = "proto3";
import "google/protobuf/timestamp.proto";

option csharp_namespace = "HelloWordDemo";

package HelloWord;

service HelloWord{
   rpc SayHelloWord(SayHelloWordRequest) returns (SayHelloWordResponse);
}

message SayHelloWordRequest{
	string message=1;//發送消息
}

message SayHelloWordResponse{
   string message=2;//返回消息
}

然后給該類庫安裝上述的安裝包(當前類庫只是協議,不需要安裝GRpc.Net.ClientFactory)
截止到現在,我們的准備工作已經做好了,接下來開始進入正題

通過添加服務引用

新增一個名為GRpcClient的控制台,安裝以上介紹的四個類庫
項目右鍵點擊添加-->服務引用
在這里插入圖片描述
選擇瀏覽找到我們剛剛添加的proto文件 將選擇要生成的類的類型選"客戶端"
在這里插入圖片描述
點擊確定 第一種就完成了

通過Nuget包添加引用

這種在公司項目中比較推薦使用的(前提是已經有了私有nuget庫)
找到我們剛剛新增的GRpc.Proto項目,右鍵屬性,找到打包,填寫相對應的信息,一定要勾選在構建會生成Nuget包
在這里插入圖片描述
重新生成之后就可以在項目debug目錄下看到對應的nuget包了,推送到私有的nuget庫就可以了

直接通過Proto文件引用

在項目下新建一個文件Until,將上面的HelloWord.Proto文件放在新建的文件下,右鍵點擊HelloWord.Proto的屬性
在這里插入圖片描述
生成操作選擇ProtoBuf conpiler
會出現一個新的屬性:如下
在這里插入圖片描述
此時我們選擇Client only
客戶端就生成好了

通過url添加引用

項目右鍵點擊添加-->服務引用
在這里插入圖片描述
選擇Url(一定要公網可以訪問,如果是在github上的一定要有如下的操作)
在這里插入圖片描述
點擊Raw
在這里插入圖片描述
使用這個路徑 才可以成功

通過地址生成Proto文件引用

這種方式其實和上面一種方式的用法差不多,但是感覺還是需要寫一些。萬一大家哪天需要用到呢
這種方法是通過donnet命令和proto文件地址生成proto文件
這里需要大家配置一個環境變量
在這里插入圖片描述

命令如下
在PwwerShell獲取VS控制台執行以下命令

dotnet grpc add-url proto文件的url(公網可訪問) -o 文件生成的地址

如果大家有其他的生成需求 可點擊 跳轉到具體頁面查看詳細介紹

這里面的需要的tools文件我已上傳到百度網盤,鏈接會在文末給出,如果大家需要,自行下載

tools文件下載地址:
鏈接:https://pan.baidu.com/s/1Vc7FW1w3dX_ZNsbUbh62vQ
提取碼ari6

如有哪里講得不是很明白或是有錯誤,歡迎指正
如您喜歡的話不妨點個贊收藏一下吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM