如何在中包含多个原型文件.NetCore gRPC项目



我正在创建一个。使用gRPC的NetCore C#桌面应用程序。我正在尝试使用Orchestrator模式(微服务(。

基本设计是:

客户端(请求者(&lt-->Orchestrator&lt-->多个不同的请求处理程序

每个RequestHandler都有自己的一组消息。

有可能有";客户端";GrpcServices在同一项目文件中,还是我需要在一个文件中包含所有的原始消息定义?使用下面列出的设置,我的项目无法加载。

这是我的.csproj文件中的相关片段:

<ItemGroup>
<Protobuf Include="../Protos/linuxservice.proto" GrpcServices="Client" ProtoRoot="../Protos/">
<Link>Protos/linuxservice.proto</Link>
</Protobuf> 
<Protobuf Include="../Protos/orchestrator.proto" GrpcServices="Server" ProtoRoot="../Protos/">
<Link>Protos/orchestrator.proto</Link>
</Protobuf>
<Protobuf Include="../Protos/service.proto" GrpcServices="Client" ProtoRoot="../Protos/">
<Link>Protos/service.proto</Link>
</Protobuf>
Protobuf Include="../Protos/windowsservice.proto" GrpcServices="Client" ProtoRoot="../Protos/">
<Link>Protos/windowsservice.proto</Link>
</Protobuf>
</ItemGroup>

经过这么多的尝试和错误,我成功地创建了几个道具,每个道具都由各自的服务使用。

  • 创建原型文件
  • 检查文件的属性
  • 生成操作=>Protobuf,编译器grpc子类=>仅服务器,编译protobuf=>是
  • 重新编译项目,这将自动生成基类
  • 在应用程序中添加您的服务。MapGrpcService

我把链接放在他给我指南的地方,我希望它能帮助你。https://medium.com/@卢卡斯托西奇/第1部分grpc-its-空气-简单-样品-d4b266c4c72e祝福

最新更新