Платформа Bond Communications устарела

Я использовал компилятор связей 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 (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, упомянутый в документации?


person Joshit    schedule 12.04.2017    source источник
comment
Я не планирую отвечать на вопрос. Есть ли кто-нибудь, кто может объяснить разницу между Bond.Comm и Bond-over-gRPC? как часть этого. Такое ощущение, что это достаточно другой вопрос, который требует отдельного вопроса и ответа.   -  person chwarr    schedule 15.04.2017


Ответы (1)


Привязки Bond C# gRPC впервые появились в Bond C# 5.3.0, выпущенном 14 апреля 2017 г. Вам потребуется обновить все пакеты Bond NuGet до 5.3.0, чтобы начать использовать его.

Вы видите, что компилятор генерирует файлы Comm по умолчанию, потому что вы используете более раннюю версию, чем 5.3.0.

Как указано в журнале изменений для выпуске 5.3.0 (и выпуске Bond Comm 0.11.0) файлы Bond Comm больше не создаются по умолчанию для C#. Чтобы продолжать использовать Bond Comm C#, вам нужно начать передавать --comm в gbc. Существует пример, который показывает, какие изменения необходимы.

Если вы хотите начать использовать привязки C# gRPC, вам необходимо передать параметр --grpc. пример gRPC показывает как это тоже сделать.

person chwarr    schedule 12.04.2017
comment
Большое Вам спасибо!! буду дальше искать :) - person Joshit; 13.04.2017