C# gRPC通信中如何在proto 3有效载荷中添加接口和类

C# gRPC通信中如何在proto 3有效载荷中添加接口和类,c#,grpc,proto3,C#,Grpc,Proto3,我需要写一个框架,有两个应用程序正在使用gRPC进行通信。它们共享一些共同的原型有效载荷。现在,挑战在于,我想在proto3协议中编写一些接口和实现。它是基于c的应用程序,所以两者都将从.proto文件生成基于c的原型 有没有办法达到同样的效果。在原始gRPC/协议中,这是服务: 服务MyService{ rpcsomemethod(SomeDtoDefinedSomewhere)返回(另一个dodefinedsomewhere); rpc AnotherMethod(Blah)返回(无论什么)

我需要写一个框架,有两个应用程序正在使用gRPC进行通信。它们共享一些共同的原型有效载荷。现在,挑战在于,我想在proto3协议中编写一些接口和实现。它是基于c的应用程序,所以两者都将从.proto文件生成基于c的原型


有没有办法达到同样的效果。

在原始gRPC/协议中,这是
服务

服务MyService{
rpcsomemethod(SomeDtoDefinedSomewhere)返回(另一个dodefinedsomewhere);
rpc AnotherMethod(Blah)返回(无论什么);
}
现在;接下来会发生什么取决于您使用的工具<代码>协议将为此生成客户端代理和服务器存根,而不是C#接口。您可以按原样使用这个接口,也可以添加自己的接口作为抽象


然而,protobuf-net(protobuf在.net上的一个单独实现)可以通过
protogen
将其作为一个纯C#接口使用。不幸的是,我还没有用这些调整来更新网站,使其真正将服务定义作为接口发出。但是它应该在nuget preview drops上运行。

StackOverflow不是一个代码生成站点。到目前为止,您尝试了什么?作为旁注:如果双方都是C#,您是否考虑过不使用.proto?protobuf-net/protobuf-net.Grpc允许您先编写代码,也就是说,您只需用C#编写DTO和接口,库就可以让一切正常工作;从这里开始: