首页 新闻 会员 周边

C# Grpc中message和enum的复用问题

0
[待解决问题]

我现在有Grpc1,Grpc2两个GRCP的服务端。

其中Grpc1,Grpc2其中各有一个rpc服务,分别返回Msg1和Msg2,但是这个Msg1和Msg2中会公用一个枚举类型PubEnum。

目前我在Grpc1,Grpc2两个项目中,均有一个PubEnum.proto文件,两个是复制的内部是一摸一样。

在client中调用了Grpc1,Grpc2两个服务后,获取到的msg1、msg2后,无法对pubEnum字段进行比较。

 

请问这个公用的枚举该怎么做复用?

 

PS:

曾经考虑过把所用的protobuf文件都放在一个项目中,但是如果项目数量增加,后续的管理难度就会增加。

写代码的相声演员的主页 写代码的相声演员 | 小虾三级 | 园豆:517
提问于:2020-03-19 09:06
< >
分享
所有回答(1)
0

可以采用nuget包的形式 新增一个枚举nuhet包 然后rpc去引用
当然也可以采用比较愚钝的方法。对比后面的int值是否一致

初夏的阳光丶 | 园豆:641 (小虾三级) | 2020-03-20 09:57

nuget的形式和直接引用问题一样,如果把proto作为静态文件引用在项目中引用,最终生成的代码都是在派生项目中,会被系统认定为不同的类型。不知道是不是我的引用姿势不对。

判断int值是一种办法,但是感觉不够优雅。

现在暂时把所有的proto放在一个项目中

支持(0) 反对(0) 写代码的相声演员 | 园豆:517 (小虾三级) | 2020-03-26 10:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册