Как включить сервисы в файл .proto при использовании автогенерации (Serializer.GetProto <> ()) - PullRequest
1 голос
/ 29 января 2020

Поэтому мне нужно создать полный файл .proto со службой и сообщениями, чтобы полностью описать одну из служб, которые я собираюсь использовать. Я уже нашел этот пост , в котором упоминается использование string proto = Serializer.GetProto<YourType>(); Но, к сожалению, при использовании в моем сервисе он просто генерирует файл прото с "сообщением", названным в честь моего сервиса.

Разговор с а конкретные примеры файлов, которые я привожу ниже, есть ли способ получить Example.proto из IExampleService.cs?

[ServiceContract]
public interface IExampleService
{
    Task<ExampleReply> ExampleMethod(ExampleRequest request);
}

[ProtoContract]
public class ExampleRequest
{
    [ProtoMember(1)]
    public string Prop1 { get; set; }

    [ProtoMember(2, DataFormat = DataFormat.WellKnown)]
    public DateTime TimeProp2 { get; set; }
}

[ProtoContract]
public class ExampleReply
{
    [ProtoMember(1)]
    public string Prop1 { get; set; }
}

Example.proto file

service IExampleService {
    rpc ExampleMethod (ExampleRequest) returns (ExampleReply) {}
}

message ExampleRequest{
   string Prop1 = 1;
   .google.protobuf.Timestamp TimeProp2 = 2;
 }

message ExampleReply {
  string message = 1;
}

1 Ответ

1 голос
/ 29 января 2020

Прямо сейчас код для этого не был написан. Существует открытый билет GitHub, но это займет некоторое время. Сейчас вам, вероятно, придется взломать его вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...