官方文档中关于在 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); }