1

.NET Core gRPC-Web 客户端在 http://localhost:5000 上调用 ASP.NET Core gRPC-Web 服务器工作正常。

部署到具有虚拟应用程序(例如,“http://build.mycompany.ca/myapp”)的 IIS 服务器的相同客户端代码调用服务器会导致

Status(StatusCode="Unimplemented", Detail="Bad gRPC response. HTTP status code: 404")

我的 ASP.NET Core 3.1 服务器设置正确。即 app.UseGrpcWeb(new GrpcWebOptions { DefaultEnabled = true });

介于两者之间

app.UseRouting()

app.UseEndpoints(endpoints => {
    endpoints.MapControllers();
    endpoints
        .MapGrpcService<GrpcClientService>()
        .EnableGrpcWeb();
});

有什么想法我在这里想念的吗?

4

1 回答 1

1

Grpc 客户端仅使用 URI 的主机部分。需要 DelegatingHandler 才能重定向到目标主机上的子目录。

https://github.com/grpc/grpc-dotnet/issues/880

于 2020-07-28T20:57:22.973 回答