C#gRPC本地主机-启动gRPC调用时出错:尚无此类主机

问题描述 投票:1回答:1

我正在尝试使Microsoft的gRPC“ Greeter”应用程序在我的商务笔记本电脑上运行,但是在调用gRPC调用时,我始终收到以下异常:

Grpc.Core.RpcException: 'Status(StatusCode=Internal, Detail="Error starting gRPC call: No such host is known.")'

This is the documentation from Microsoft, which I followed.我正在运行的确切代码来自Microsoft的示例,可以在on their github here中找到。

从字面上讲,它可以启动最基本的gRPC服务器,然后通过调用调用

using var channel = GrpcChannel.ForAddress("https://localhost:5001");
var client =  new Greeter.GreeterClient(channel);
var reply = await client.SayHelloAsync(new HelloRequest { Name = "GreeterClient" });

对SayHelloAsync的调用是引发异常的调用。我的家用计算机上完全相同的代码可以正常工作。我已经在/ etc / hosts文件中检查了奇怪的条目,但是什么也没有。我也尝试过将https://localhost:5001更改为https://[::1]:5001https://127.0.0.1:5001,这是一个异常,我觉得这很奇怪。

我也已经通过AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);尝试了http并调用了http端点,这是相同的异常。

c# grpc
1个回答
1
投票

我知道了。如预期的那样,这是我的工作笔记本电脑的网络设置出现问题。

我设置了HTTP_PROXY和HTTPS_PROXY环境变量。这些由基础HttpClient拾取,并尝试通过代理路由请求。删除HTTP_PROXY和HTTPS_PROXY环境变量可解决此问题。另外,将NO_PROXY环境变量设置为localhost,127.0.0.1,::1也可以解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.