在很多人看来,我的要求可能有点“奇怪”:
所以给定一个像下面这样的原始文件:
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
我想生成 POCO 和相应的接口(而不是具体的 gRPC 服务),如下所示:
public class HelloRequest
{
public string Name { get; set; }
}
public class HelloReply
{
public string Message { get; set; }
}
public interface IGreeterService
{
public HelloReply SayHello(HelloRequest request);
}
也就是说,我只使用 proto 文件作为不同语言(比如 JavaScript 和 C#)之间的某种“契约”,但跳过 gRPC 的“通信”部分,因为我们不需要 http/2 什么的。
我用谷歌搜索了很多,但似乎不存在这样的项目。现在我正在考虑通过扩展grpc-dotnet项目(可能使用 T4 模板)来制作自己的项目,但在开始之前我只需要一些/任何建议/帮助/信息。所以这是我的问题:
是否有任何项目/图书馆在做与我上面所说的类似但我还不知道的事情?
grpc-dotnet 是否具有任何类型的可扩展性,允许我生成所需的 C# 类型而无需编译 proto buffs(如果有的话,我可以获得编译的数据结构吗)
在开发成本、难度等方面是否可行?
还有其他建议走正确的道路吗?
非常感谢您,任何评论/答案将不胜感激!