【问题标题】:Bond Communications Framework Deprecated不推荐使用 Bond 通信框架
【发布时间】:2017-09-08 04:55:37
【问题描述】:

我已经使用债券编译器 gbc 为我创建了一些对象和服务定义:

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

编译器使用这个签名生成了一个类定义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)。首先要阅读的是,Bond.Comm 已被弃用,您应该改用 Bond-over-gRPC (https://microsoft.github.io/bond/manual/bond_over_grpc.html)。

我有两个问题:

  • 有人知道吗,为什么它已被废弃但默认情况下仍由编译器使用?
  • 有人可以解释 Bond.Comm 和 Bond-over-gRPC 之间的区别吗?

提前致谢!

编辑

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

【问题讨论】:

  • 我不打算回答“有没有人可以解释 Bond.Comm 和 Bond-over-gRPC 之间的区别?”作为其中的一部分。感觉这是一个足够不同的问题,需要有自己的问题和答案。

标签: c# idl grpc bond


【解决方案1】:

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

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

如 5.3.0 版(和 Bond Comm 0.11.0 版)的 changelog 中所述,默认情况下不再为 C# 生成 Bond Comm 文件。要继续使用 Bond Comm C#,您需要开始将 --comm 传递给 gbc。有一个 example 显示需要进行哪些更改。

如果您想开始使用 C# gRPC 绑定,您需要传递 --grpc 选项。 gRPC example 也显示了如何执行此操作。

【讨论】:

  • 非常感谢!!我会继续寻找:)
猜你喜欢
  • 1970-01-01
  • 2020-06-23
  • 1970-01-01
  • 2011-05-14
  • 1970-01-01
  • 2011-06-26
  • 2013-02-01
  • 2018-03-13
  • 1970-01-01
相关资源
最近更新 更多