[C# gRPC] 클래스 라이브러리 생성 후, protocol buffer(.proto) 파일 관리

목적

  • 앞서 gRPC Server와 Blazor Client에서 각각 Protos 디렉터리를 만들고, 그 안에 greet.proto 파일을 만들어 주었습니다.
  • 하지만, 이렇게 되면 매번 새로운 .proto 파일이 추가될 때마다 Server, Client 양쪽에 모두 추가해 주어야 하는 번거로움이 있습니다.
  • 때문에 클래스 라이브러리 를 하나 생성 후, 해당 클래스 라이브러리에서 Proto 파일 관리 하도록 합니다.

개발 환경

  • 개발 환경은 다음과 같습니다.
    • OS : Windows 10
    • .NET Version : .NET 6
    • 개발도구 : Visual Studio 2022

클래스 라이브러리 생성

  • 클래스 라이브러리를 다음과 같이 생성해 줍니다.


프로토콜 버퍼 생성

  • 클래스 라이브러리 생성 완료 하였다면, 다음으로는 greet.proto 파일을 추가합니다.
  • Protos 폴더를 하나 생성 한 후, 해당 폴더 안에 greet.proto 파일을 추가합니다.
syntax = "proto3";

option csharp_namespace = "BlazorClient";

package greet;

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply);
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings.
message HelloReply {
  string message = 1;
}

Server, Client 서비스 참조 추가

  • 클래스 라이브러리를 통해 만든 Proto 파일을 이제 Server, Client 에서 서비스 참조를 시켜 줍니다.
  • 각각 Server, Client 에 서비스 참조 추가하는 방법은 다음과 같습니다.
  • 추가 -> 연결된 서비스 -> 서비스 추가 -> gRPC 옵션을 선택하여 추가할 proto 파일을 추가해주면 됩니다.


결론

  • 위와 같은 방법으로 .proto 파일을 보다 효율적으로 관리할 수 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY