gRPC是一個(gè)高性能、通用的開源遠(yuǎn)程過程調(diào)用(RPC)框架,基于底層HTTP/2協(xié)議標(biāo)準(zhǔn)和協(xié)議層Protobuf序列化協(xié)議開發(fā), gRPC 客戶端和服務(wù)端可以在多種環(huán)境中運(yùn)行和交互。你可以用Java創(chuàng)建一個(gè) gRPC 服務(wù)端,用 Go、Python、C# 來創(chuàng)建客戶端。本系統(tǒng)文章詳細(xì)描述了如何創(chuàng)建一
3.3、客戶端編譯生成GRPC類
1. 在“解決方案資源管理器”中,使用鼠標(biāo)左鍵選中項(xiàng)目名稱“Demo.Grpc.Cmd”,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“重新生成”菜單項(xiàng)。
2. 在“解決方案資源管理器”中,使用鼠標(biāo)左鍵選中項(xiàng)目名稱“Demo.Grpc.Cmd,在彈出的快捷菜單中選擇“在文件資源管理器中打開文件夾”菜單項(xiàng)。如下圖。
3.我們打開“文件資源管理器”,進(jìn)入到Demo.Grpc.Cmd
\obj\Debug\
net7.0
目錄,發(fā)現(xiàn)此時(shí)目錄下也有與服務(wù)端一樣的4個(gè).cs文件,就是GRPC協(xié)議文件對(duì)應(yīng)的類文件,如下圖所示:
3.4、gRPC服務(wù)的https調(diào)用
1.在服務(wù)端項(xiàng)目(Demo.GrpcService)中,由Visual Studio 2022在創(chuàng)建項(xiàng)目時(shí)默認(rèn)配置了兩個(gè)地址,讓我們來調(diào)用。2個(gè)地址分別為:
http://localhost:5209
和
https://localhost:7149
, gRPC客戶端會(huì)使用到這2個(gè)地址,目的是給客戶端請(qǐng)求請(qǐng)求地址,服務(wù)端將監(jiān)聽這兩個(gè)端口。
2. 在Visual Studio 2022的“解決方案資源管理器”中,使用鼠標(biāo)右鍵單擊“Demo.Grpc.Cmd”項(xiàng)目名稱,在彈出菜單中選擇“添加--> 類”。 在“添加新項(xiàng)”對(duì)話框中將類命名為 User,然后選擇“添加”。
3. 在Visual Studio 2022的“解決方案資源管理器”中,使用鼠標(biāo)雙擊打開剛才創(chuàng)建的User.cs文件,添加如下代碼:
4. 在Visual Studio 2022的“解決方案資源管理器”中,使用鼠標(biāo)雙擊打開program.cs文件,添加如下代碼:
5.我們?cè)陂_啟一個(gè)Visual Studio 2022,打開“Demo.GrpcService”解決方案,將“Demo.GrpcService”設(shè)置為啟動(dòng)項(xiàng)目,并使用https協(xié)議啟動(dòng)運(yùn)行。
6.啟動(dòng)運(yùn)行之后的結(jié)果如圖。
7.我們切換到“Demo.Grpc.Cmd”為啟動(dòng)項(xiàng)目Visual Studio 2022,按F5,啟動(dòng)。
8.啟動(dòng)之后的運(yùn)行結(jié)果,如圖。
到此,調(diào)用gRPC服務(wù)端提供的https地址就成功了。
3.5、gRPC服務(wù)的http調(diào)用
相比https的調(diào)用,我們只需要在調(diào)用前加上如下代碼即可:
|
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); |
1. 在Visual Studio 2022的“解決方案資源管理器”中,使用鼠標(biāo)雙擊打開User.cs文件,添加如下代碼:
2.在目Visual Studio 2022,按F5或是點(diǎn)擊工具欄上的“運(yùn)行”按鈕,啟動(dòng)“Demo.Grpc.Cmd”控制臺(tái)程序。
到此,調(diào)用gRPC服務(wù)端提供的http地址就成功了。
運(yùn)行效果如下:
小編推薦閱讀
count(*)、count(1)哪個(gè)更快?面試必問:通宵整理的十道經(jīng)典MySQL必問面試題
閱讀從需求分析、產(chǎn)品設(shè)計(jì)到部署交付各階段說明
閱讀如何利用七牛云進(jìn)行數(shù)據(jù)備份和刪除
閱讀強(qiáng)化學(xué)習(xí)筆記之【ACE:Off-PolicyActor-CriticwithCausality-AwareEntropyRegularization】
閱讀使用MailKit在.NET Core中收發(fā)郵件的完整示例
閱讀WiFi基礎(chǔ)(六):天線基礎(chǔ)知識(shí)
閱讀OpenAI官方開源多智能體框架Swarm,社區(qū)反響熱烈
閱讀Vue-Vben-Admin:功能強(qiáng)大的Vue3后臺(tái)管理系統(tǒng)模板
閱讀深度解析Spring AI:請(qǐng)求與響應(yīng)機(jī)制的核心邏輯
閱讀.NET云原生應(yīng)用實(shí)踐(一):從搭建項(xiàng)目框架結(jié)構(gòu)開始
閱讀llama.cpp:一個(gè)適用于中小型研發(fā)企業(yè)的高性能CPU/GPU大語言模型推理框架
閱讀Windows應(yīng)急響應(yīng)-Auto病毒
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2024 haote.com 好特網(wǎng)