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");
}
}
ModelObject
possui [DataContract]
e [DataMember]
com atributos de pedido.
Isso é possível? Cada exemplo que vejo online começa com um .proto
arquivo. Eu já defini meus métodos de serviço desejados na MyGrpcService
classe. 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 gRPC
para se comunicar, mas talvez essa seja uma visão muito simplista.