【问题标题】:How to call a .NET Core 3.0 gRPC Server application with bloomRPC?如何使用bloomRPC 调用.NET Core 3.0 gRPC Server 应用程序?
【发布时间】:2019-07-30 17:58:35
【问题描述】:

对于这个问题,知道我确实有 ASP .NET Core 经验,也有 REST 经验但我是 gRPC 的新手,这很重要。另外,我现在在 Windows 上工作。

首先,我按照here 的说明创建了一个服务器项目和一个客户端项目。

这工作正常,完全符合预期和记录。

从逻辑上讲,我希望能够从工具调用我的服务器项目(因为许多开发人员使用工具 - 例如 Postman - 来测试他们的 REST Api 服务器项目)。我在这方面失败了,所以也许有人可以解释我做错了什么以及如何解决我的问题?我正在使用bloomRPC,但收到一个我不理解的错误(我的服务器应用程序可用)。

【问题讨论】:

    标签: asp.net-core grpc asp.net-core-3.0


    【解决方案1】:

    按照以下步骤操作:

    1. 确保RpcServer 正在运行。

    2. 检查你的launchSettings.json

      {
          "profiles": {
              "GrpcGreeter": {
                  "commandName": "Project",
                  "launchBrowser": false,
                  "applicationUrl": "https://localhost:5001;http://localhost:5000",
                  "environmentVariables": {
                      "ASPNETCORE_ENVIRONMENT": "Development"
                  }
              }
          }
      }
      
    3. proto导入bloomRPC

    4. Server Address更改为0.0.0.0:5000

    【讨论】:

    • 对 launchsettings.json 所做的更改完成了这项工作。从逻辑上讲,我也停止在bloomRPC中使用TLS。最后一步并不完全需要(localhost和0.0.0.0都可以正常工作)。
    • 这个 launchsettings.json 文件在哪里?
    • 感谢@Edward,与 0.0.0.0:5000 完美合作。但是您知道为什么它不适用于 0.0.0.0:50010.0.0.0:5000 正在使用 HTTP,而 0.0.0.0:5001 正在使用 HTTPS。
    • 这显然不是最优的,因为它没有使用 https。使用 https 使其正常工作会非常好。
    【解决方案2】:

    您可以手动将 VisualStudio 的证书导入bloomRPC。单击锁定图标旁边的 TLS 按钮。您将看到一个弹出窗口,您可以在其中通过单击“添加根证书”添加您的证书。使用 base-64 编码的 X.509 证书。

    ssl target host 应该是为其生成 ssl 证书的主机名,在您的情况下是 localhost

    VisualStudio 可以创建多个证书,因此您需要测试其中一个适合您。

    以下是如何从 MMC 导出 VisualStudio 证书的步骤: https://support.globalsign.com/ssl/ssl-certificates-installation/import-and-export-certificate-microsoft-windows

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      相关资源
      最近更新 更多