gRPC入門學習之旅(三)

DotNet菜园發表於2024-03-23

gRPC入門學習之旅(一)

gRPC入門學習之旅(二)

2.3、建立自定義服務

除上面的模板中自帶的一個gRPC服務之後,我們再建立一個自己的服務,我將建立一個使用者資訊gRPC服務,主要功能有三個,登入、獲取使用者資訊、修改使用者資訊。

  • 建立UserInfo.proto協議檔案
  1. 在“解決方案資源管理器”中,使用滑鼠左鍵選中“Protos”資料夾,然後在選單欄上,依次選擇“新增-->新建項”。如下圖。

  1. 在“新增新項”對話方塊中,選擇“ASP.NET Core-->常規”節點,然後選擇“協議緩衝區檔案”項。
  2. 在“名稱”文字框中,輸入 UserInfo.proto,然後選擇“新增”按鈕。如下圖。

4.Visual Studio 2022會在Protos目錄中新增一個UserInfo.proto協議檔案。如下圖。

5.這個UserInfo.proto檔案中的程式碼如下:

syntax = "proto3";

 

option csharp_namespace = "Demo.GrpcService.Protos";

//包名

package user;

 

//服務名稱

service UserInfo{

//方法名稱

rpc GetUserInfo (UserInfoRequest) returns (UserInfoResult);

rpc Login(UserInfoRequest) returns(UserInfoResult);

rpc Save(UserInfoRequest) returns (UserInfoResult);

}

//請求的引數物件

message UserInfoRequest{

string UserName = 1;

 string Password=2;

}

//請求響應的物件
message UserInfoResult{
string UserName = 1;
 string Password=2;

int32  Age = 3;

string Tel=4;

string Name=5;

int32 Sex=6;

string City=7;

bool IsLogin=8;

}
  • 新增userinfo.proto協議檔案的關聯配置

6.在“解決方案資源管理器”中,使用滑鼠左鍵選中專案名稱“Demo.GrpcService”,然後使用滑鼠雙擊這個名稱,Visual Studio 2022將在文字編輯器中開啟專案檔案。 如下圖。

7. 在文字編輯器中找到ItemGroup節點,在ItemGroup節點中增加如下配置:如下圖。

 <ItemGroup>

    <Protobuf Include="Protos\greet.proto" GrpcServices="Server" />

      <Protobuf Include="Protos\UserInfo.proto" GrpcServices="Server" />

  </ItemGroup>

8.在“解決方案資源管理器”中,使用滑鼠左鍵選中專案名稱“Demo.GrpcService”,然後單擊滑鼠右鍵,在彈出的快捷選單中選擇“重新生成”選單項。如下圖。

9.我們開啟“檔案資源管理器”,進入到Demo.Grpc.Service\obj\Debug\net7.0\Protos目錄,發現此時目錄下比剛才多了2個.cs檔案,就是我們自己定義的UserInfo.proto協議檔案對應的類檔案,如下圖所示:

相關文章