[C# gRPC] 클래스 라이브러리 생성 후, protocol buffer(.proto) 파일 관리
- C#
- 2022. 4. 9. 22:00
목적
- 앞서 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
'C#' 카테고리의 다른 글
[EF Core] EF Core & PostgreSQL Column JSONB 타입 데이터 추가 (0) | 2022.04.13 |
---|---|
[C#] Npgsql NuGet Package 이용하여 PostgreSQL 연동하기 (0) | 2022.04.11 |
[C# gRPC] Blazor Server 앱 - gRPC Client 생성 (6) | 2022.04.07 |
[C#] ASP.NET Core gRPC Server - gRPC 서버 생성 (3) | 2022.04.07 |
[C# 문법] C# 7.0 에서 편리해진 out 파라미터 사용방법 (0) | 2021.05.23 |
이 글을 공유하기