CHashtag

[.net] gRPC 개발 본문

C#/ASP.NET

[.net] gRPC 개발

HyoSeong 2022. 1. 8. 19:08
반응형

참고자료: https://www.youtube.com/watch?v=CXH_jEa8dUw&t=255s 

(newtonsoft의 창시자.. 멋진분..)

 

 

 

 

gRPC 프로젝트 생성


권장 환경: Visual Studio 2022

"ASP.NET 및 웹 개발" 설치

 

그럼 gRPC Project를 생성할 수 있다.

 

 

아래와 같은 구성의 프로젝트가 생성된다.

 

 

이제 client를 생성해보자

 

그냥 Console App을 생성해주고

 

Server와 연결해줘야 한다.

 

Dependencies -> Manage Connected Services

 

File -> Server쪽 proto 파일 선택

 

그럼 자동으로 Client단에 필요한 gRPC관련 nuget packages를 다운받아주고 세팅이 된다.

 

 

Program.cs 는 아래와 같이 구성.

(.NET 6프로젝트를 생성하니 기본 생성 파일이 매우 단조로워졌네요,, 멋진 변화 굿)

 

using Grpc.Net.Client;
using gRPC_example;

var channel = GrpcChannel.ForAddress("http://localhost:5052");
var client = new Greeter.GreeterClient(channel);

var reply = await client.SayHelloAsync(
        new HelloRequest { Name = "Chashtag" }
    );


Console.WriteLine(reply.Message);

 

여기서 ForAddress의 인자는 Server Project의 launchSettings.json의 applicationUrl를 넣어주면 됨.

 

 

그 후 Server 실행

 

Client도 실행해보면,, GreeterService.cs에 정의되어 있는 것처럼 Response가 오는것을 확인할 수 있다!!

 

 

 

프로젝트 소스코드

https://github.com/Hyo-Seong/dotnet-gRPC-example

 

GitHub - Hyo-Seong/dotnet-gRPC-example: This is the sample project that make gRPC service.

This is the sample project that make gRPC service. - GitHub - Hyo-Seong/dotnet-gRPC-example: This is the sample project that make gRPC service.

github.com

 

 

감사합니다.

반응형