如何将“gRPC”类型的服务引用添加到 Visual Studio 中的项目

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

我的 Visual Studio 解决方案中有两个项目。

  • 项目1实现了gRpc服务器端点。在 gRpc 服务器上启用反射
  • 项目 2 是一个客户端项目,应该使用 gRpc 服务器项目公开的 gRpc 端点。

我想将项目 1 引用为项目 2 中的“连接服务”。因此,当 gRpc 服务的 DataContract 更改时,我将能够更新“服务引用”,并且将重新生成与 gRpc 服务器通信的客户端存根.

我尝试配置客户端项目并添加“连接服务”。在“添加服务引用”对话框中,我选择添加“gRPC”类型的服务。单击“下一步”按钮后,我提供正在运行的 grpc 服务器的反射端点的 URL。 (https://localhost:portnumber/grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo)

单击“完成”按钮后,我收到一条错误消息“无法从以下位置下载元数据文件:https://localhost:portnumber/grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo” 在我的 grpc 服务器上的日志信息中,我看到错误消息“不支持‘(null)’的请求内容类型”。

Visual Studio 期望什么作为配置 gRpc 连接服务的输入?

注意:我已经使用 Postman 和 dotnet-grpc-cli 测试了我的 gRpc 服务器。端点和合约被正确发现,并且可以使用 Postman UI 调用。

visual-studio grpc connected-services
1个回答
0
投票

我自己找到了解决方案。 “添加 gRPC 连接的服务”对话框中使用的 Url 需要指向返回 .proto 文件的 http GET 端点。不像我预期的那样是 grpc 反射端点的 url。

感谢 Microsoft 提供缺失的文档......

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