現(xiàn)在幾乎所有的產(chǎn)品都是多應(yīng)用,應(yīng)用之間的通信怎么處理惋耙,有很多方案文狱。最近有一種流行的方案就是Grpc蝠咆,本文不對(duì)Grpc做科普冰更,直接看官網(wǎng)就可以。
當(dāng)我們使用Grpc的時(shí)候饺谬,首先需要通過protocol buffers 定義message和rpc方法捂刺,但是C#是不認(rèn)這些語(yǔ)法的谣拣。這時(shí)就需要把這些protocol buffers文件轉(zhuǎn)換成C#代碼,我們就來說說玩轉(zhuǎn)這個(gè)轉(zhuǎn)換族展。
前提:
(1).net project集成Grpc森缠,使用應(yīng)用其他packages
google.protobuf.3.6.1.nupkg
grpc.1.18.0.nupkg
grpc.tools.1.18.0.nupkg
(2)定義.proto文件
方案一:命令行
grpc.tools.1.18.0.nupkg 是一個(gè)工具包。使用protoc.exe可以執(zhí)行命令生產(chǎn)類仪缸,如:
protoc --proto_path=PATH --csharp_out=OUT_DIR
這個(gè)不是我們想要的贵涵,還要手動(dòng)執(zhí)行命令。聰明一點(diǎn)可以在project配置執(zhí)行命令恰画,但是不是我們想要的
方案二:自動(dòng)生成
在項(xiàng)目文件的<ItemGroup>節(jié)點(diǎn)下配置.proto文件路徑
<ProtoBuf Include="Test.proto" />
在編譯時(shí)protoc.exe會(huì)找到Test.proto宾茂,然后自動(dòng)編譯生成對(duì)應(yīng)的C#文件類
如有問題或者更正信息,歡迎訪問https://github.com/figodeng/QAndA