2017-04-12 23 views
1

I'veは私のためにいくつかのオブジェクトとサービス定義を作成するために、ボンドコンパイラ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)を使用する必要があります。

私は2つの質問があります:誰かがこれをdepractedされる理由を、知っているが、それでも、コンパイラが使用するデフォルトでない

  • を?
  • Bond.CommとBond-over-gRPCの違いを説明できる人はいますか?

ありがとうございます!

EDIT

そして、3番目の質問が発生しました:ドキュメントに記載--grpc-フラグを使用する方法は?

+0

私は「Bond.CommとBond-over-gRPCの違いを説明できる人はいますか?」と答える予定はありません。これの一部としてそれはそれがそれ自身の質問と答えを保証する十分な別の質問であるように感じる。 – chwarr

答えて

2

Bond C#gRPCバインディングは、2017-04-14でリリースされたBond C#5.3.0で最初に出荷されました。あなたがそれを使い始めるには、あなたのBond NuGetパッケージをすべて5.3.0にアップグレードする必要があります。

5.3.0より前のバージョンを使用しているため、コンパイラはデフォルトでCommファイルを生成しています。

5.3.0リリース(およびBond Comm 0.11.0リリース)のchangelogに記載されているように、Bond CommファイルはC#ではデフォルトでは生成されません。 Bond Comm C#を引き続き使用するには、--commをgbcに渡す必要があります。どのような変更が必要かを示すexampleがあります。

C#gRPCバインディングの使用を開始する場合は、--grpcオプションを渡す必要があります。 gRPC exampleにもこれを行う方法が示されています。

+0

ありがとうございます!私は見ていく:) – Joshit