Voglio usare gRPC con .NET core 3 in un'applicazione web core asp.net. Come posso generare il file .proto necessario da una classe C # esistente e oggetti modello? Non voglio riscrivere un file .proto che rispecchi il codice esistente, voglio che il file .proto sia generato automaticamente dagli oggetti della classe e del modello.
Chiamo questo metodo per registrare la mia classe di servizio.
builder.MapGrpcService<MyGrpcService>();
public class MyGrpcService
{
public Task<string> ServiceMethod(ModelObject model, ServerCallContext context)
{
return Task.FromResult("It Worked");
}
}
ModelObject
ha [DataContract]
e [DataMember]
con attributi di ordine.
È possibile? Ogni esempio che vedo online inizia con un .proto
file. Ho già definito i miei metodi di servizio desiderati in MyGrpcService
classe. Ma forse questo è solo all'indietro rispetto a qual è il modo standard di fare le cose ...
Qualcosa come il vecchio remoting .NET sarebbe l'ideale in cui puoi semplicemente chiedere un'interfaccia da un endpoint remoto e magicamente usa gRPC
per comunicare avanti e indietro, ma forse è una vista troppo semplicistica.