2017-04-12 63 views
1

从来就所使用的键的编译器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)。

我有两个问题:

  • 是否有人知道,这是为什么depracted但默认情况下仍然使用编译器?
  • 有没有人可以解释Bond.Comm和Bond-over-gRPC之间的区别?

在此先感谢!

编辑

而第三个问题发生:如何使用文档中提到的--grpc标志?

+0

我不打算回答“是否有人能够解释Bond.Comm和Bond-over-gRPC之间的区别?”作为其中的一部分。感觉这是一个足够不同的问题,它保证它自己的问题和答案。 – chwarr

回答

2

Bond C#gRPC绑定首次发布于Bond C#5.3.0,该版本于2017-04-14发布。您需要将所有Bond NuGet软件包升级到5.3.0才能开始使用它。

由于您使用的是早于5.3.0的版本,因此默认情况下编译器会生成Comm文件。

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

如果你想开始使用C#gRPC绑定,你需要通过--grpc选项。 gRPC example显示了如何做到这一点。

+0

非常感谢!我会继续寻找:) – Joshit