https://docs.microsoft.com/ko-kr/aspnet/core/grpc/browser?view=aspnetcore-6.0
NuGET 을 사용하여 Grpc.AspNetCore.Web 패기지를 추가합니다.
서버의 Startup.cs 에서 UseRouting 과 UseEndpoints 사이에 UseGrpcWeb 을 호출합니다. 그 외 CORS 처리 및 gRPC 서비스 중 gRPC-Web 을 지원할 메소드들에 EnableGrpcWeb() 을 연계 및 호출합니다.
public void ConfigureServices(IServiceCollection services)
{
services.AddGrpc();
services.AddCors(o => o.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.WithExposedHeaders("Grpc-Status", "Grpc-Message", "Grpc-Encoding", "Grpc-Accept-Encoding");
}));
}
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
app.UseGrpcWeb();
app.UseCors();
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService<GreeterService>().EnableGrpcWeb()
.RequireCors("AllowAll");
});
}
끝으로 appsettings.json 파일의 Kestrel 설정 중 Protocols 부분이 Http2 라면 Http1AndHttp2 으로 변경합니다.(gRPC-Web 의 경우, HTTP/1.1 을 사용합니다.)
반응형
'프로그래밍 > PC' 카테고리의 다른 글
라자루스 3.2 MacOS 소스 설치 (0) | 2024.04.20 |
---|---|
.NET Framework 4.6.2 에서 gRPC-Web 클라이언트 구현 (0) | 2022.06.16 |
Visual Studio 2022 gRPC 서버 TLS 사용 (0) | 2022.02.21 |
Visual Studio 2022 gRPC 클라이언트 개발 (0) | 2022.02.06 |
XE6, 파이어몽키 그리고 TWideMemoField 버그 수정 (2) | 2014.06.30 |
댓글