Asp.net core 如何使用bloomRPC调用.NET Core 3.0 gRPC服务器应用程序?

Asp.net core 如何使用bloomRPC调用.NET Core 3.0 gRPC服务器应用程序?,asp.net-core,grpc,asp.net-core-3.0,Asp.net Core,Grpc,Asp.net Core 3.0,对于这个问题,我有ASP.NET的核心经验,有REST的经验,但我是gRPC的新手。此外,我现在正在Windows上工作 首先,如前所述,我创建了一个服务器项目和一个客户机项目 这很好,完全符合预期和记录 从逻辑上讲,我希望能够从工具中调用我的服务器项目(因为许多开发人员使用工具(如Postman)来测试他们的RESTAPI服务器项目)。我失败了,所以也许有人能解释我做错了什么,以及如何解决我的问题?我正在使用bloomRPC,但遇到一个我不理解的错误(我的服务器应用程序可用) 遵循以下步骤:

对于这个问题,我有ASP.NET的核心经验,有REST的经验,但我是gRPC的新手。此外,我现在正在Windows上工作

首先,如前所述,我创建了一个服务器项目和一个客户机项目

这很好,完全符合预期和记录

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

遵循以下步骤:

  • 确保
    RpcServer
    正在运行

  • 检查您的
    launchSettings.json

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

  • {
        "profiles": {
            "GrpcGreeter": {
                "commandName": "Project",
                "launchBrowser": false,
                "applicationUrl": "https://localhost:5001;http://localhost:5000",
                "environmentVariables": {
                    "ASPNETCORE_ENVIRONMENT": "Development"
                }
            }
        }
    }
    
  • 将服务器地址更改为
    0.0.0.0:5000


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

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

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

    以下是如何从MMC导出VisualStudio证书的步骤:


    对launchsettings.json所做的更改完成了任务。从逻辑上讲,我也停止在bloomRPC中使用TLS。。最后一步不是完全需要的(localhost和0.0.0.0都可以正常工作)。这个launchsettings.json文件在哪里?谢谢@Edward,使用0.0.0.0:5000非常好。但是您知道为什么它不能与0.0.0.0:5001一起工作。0.0.0.0:5000正在使用HTTP,0.0.0.0:5001正在使用HTTPS。这显然是非最佳的,因为它没有使用HTTPS。这将是非常好的,让它与https正常工作。