Quero usar o gRPC com o .NET core 3 em um aplicativo da web principal do asp.net. Como eu gero o arquivo .proto necessário a partir de uma classe C # existente e objetos de modelo? Não quero reescrever um arquivo .proto que espelha o código existente, quero que o arquivo .proto seja gerado automaticamente a partir dos objetos de classe e modelo.
Eu chamo esse método para registrar minha classe de serviço.
builder.MapGrpcService<MyGrpcService>();
public class MyGrpcService
{
public Task<string> ServiceMethod(ModelObject model, ServerCallContext context)
{
return Task.FromResult("It Worked");
}
}
ModelObjectpossui [DataContract]e [DataMember]com atributos de pedido.
Isso é possível? Cada exemplo que vejo online começa com um .protoarquivo. Eu já defini meus métodos de serviço desejados na MyGrpcServiceclasse. Mas talvez isso seja apenas o contrário da maneira padrão de fazer as coisas ...
Algo parecido com o antigo sistema de comunicação remota do .NET seria ideal onde você pode simplesmente solicitar uma interface a partir de um ponto de extremidade remoto e ele magicamente usa gRPCpara se comunicar, mas talvez essa seja uma visão muito simplista.