일부 사용자에게 아래와 같은 에러가 발생되었습니다.
"HttpRequestException: Unable to get subchannel from HttpRequestMessage." |
위 에러는 아래와 같이 Client 쪽에 코딩되어있었는데
using var channel = GrpcChannel.ForAddress("http://localhost:5253");
위 코드를 아래처럼 GrpcChannelOptions 의 HttpHandler 를 지정하면 에러가 해결됩니다.
using var channel = GrpcChannel.ForAddress("http://localhost:5253", new GrpcChannelOptions { HttpHandler = new HttpClientHandler() });
위 수정으로 해결이 안된다면 사용자가 proxy 관련 프로그램 Proxyman 등을 사용하고 있는 경우
동일한 오류가 발생됩니다.
이런 경우 설정 > 고급시스템 설정 > 시스템속성 의 고급 탭의 환경변수를 선택하여
사용자 변수에 HTTP_PROXY, HTTPS_PROXY 값이 있는지 확인하고 있다면 삭제해야합니다.
참고
HttpClientHandler 사용 시 SSL 무시하기 (0) | 2024.06.04 |
---|---|
C# Reflection 을 이용해 특정 Property 들만 Select 하기 (0) | 2024.05.14 |
C# gRPC Interceptor 에서 WriteOptions 옵션 변경하기 (0) | 2024.04.25 |
C# gRPC Interceptor 사용하기 (0) | 2024.04.25 |
C# gRPC Streaming 에러 HTTP/2 INTERNAL_ERROR (0) | 2024.04.25 |