官方文档中关于在 Asp.Net Core 项目中使用 gRPC 的介绍已经很详细了,但是个人觉得漏了一点比较关键的信息。所以这里通过一个示例项目介绍一下如何在 Asp.Net Core 项目中使用 gRPC。

在 WebApi 项目中添加 gRPC 服务

  创建两个 WebAPI 项目(ApiOne & ApiTwo),创建选项中启用 https 支持。在 ApiOne 中引用 NuGet 包:Grpc.AspDotNetCore,需要 .NET Core SDK >= 3.0 。

  新增 Protos 文件夹,创建一个 Introduce.proto 文件。在 VS 中新增文件选项没有 proto 这一类型,所以是通过新增一个类文件然后改后缀这种方式。

syntax = "proto3";

option csharp_namespace = "ApiOne.Protos";

package Intro;

message IntroRequest {
    string name = 1;
}

message IntroResponse {
    string msg = 1;
}

service IntroduceService{
    rpc SayHi(IntroRequest) returns (IntroResponse);
}
Introduce.proto

相关文章: