债券通信框架已弃用

Bond Communications Framework Deprecated

我已经使用 bond-compiler gbc 为我创建了一些对象和服务定义:

namespace Something;
struct SomeStruct
{
    0: string SomeName;
}
struct SomeResponse
{
    0: string ResponseString;
}
service SomeService
{
    SomeResponse DoSomething(SomeStruct);
}

编译器使用此签名生成了 class 定义 Something_services.cs

[System.CodeDom.Compiler.GeneratedCode("gbc", "0.8.0.0")]
public abstract class SomeServiceServiceBase : ISomeService, global::Bond.Comm.IService

我对 IService 接口感到疑惑,想了解更多相关信息,于是转而使用 Bond Communications Framework Doku (https://microsoft.github.io/bond/manual/bond_comm.html). The first thing to read was, that Bond.Comm is deprecated and you should use Bond-over-gRPC (https://microsoft.github.io/bond/manual/bond_over_grpc.html)。

我有两个问题:

提前致谢!

编辑

第三个问题出现了:如何使用文档中提到的--grpc-flag?

Bond C# gRPC 绑定首次在 Bond C# 5.3.0 中发布,该版本于 2017 年 4 月 14 日发布。您需要将所有 Bond NuGet 包升级到 5.3.0 才能开始使用它。

您看到编译器默认生成 Comm 文件,因为您使用的是 5.3.0 之前的版本。

changelog for the 5.3.0 release (and the Bond Comm 0.11.0 release), Bond Comm files are no longer generated by default for C#. To keep using Bond Comm C#, you'll need to start passing --comm to gbc. There's an example 中所述,显示需要进行哪些更改。

如果您想开始使用 C# gRPC 绑定,您需要传递 --grpc 选项。 gRPC example 也展示了如何做到这一点。