我最近发现可以对 gRPC 服务器进行“转码”,以便它可以接收 HTTP/JSON 请求以及 gRPC 请求。我相信这将允许用户使用普通的 NetCore HTTP 客户端向 gRPC 服务器发送请求(当然使用 protobuf)。我已经在其他语言(主要是 Go)中看到了这种实现,但我还没有看到任何关于如何在 .NetCore 和 C# 中完成此操作的信息。您知道如何实现这一目标吗?
这是有关该主题的官方 Goggle 文档:https ://cloud.google.com/endpoints/docs/grpc/transcoding
非常感谢
我认为最好的方法是使用google apiHTTP 选项并配置 Envoy 代理来进行转码。
我之前根据 Christophe Hesters博客上的信息完成了这项工作。
然而,部署有点繁琐(尤其是在 Windows 上,这是我开发的平台)。
我用于调试的第一种方法是:
envoyproxy/envoy您可以使用 docker(如果在 Windows 上则为桌面)/docker-compose 来进行更便携的设置,其中 Envoy 和您的服务都作为容器运行。
在你的问题的提示下,我刚刚发现了Microsoft.AspNetCore.Grpc.HttpApi。目前它只是一个 WIP 预览版,但看起来是一个更容易上手的选择。
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |