public Task <TService> GetGRPCService <TService>(GRPCService service) where TService : IService <TService> { if (service == null) { return(Task.FromResult(default(TService))); } var channel = new Channel(service.Host, service.Port, ChannelCredentials.Insecure); var svc = MagicOnionClient.Create <TService>(channel); return(Task.FromResult(svc)); }
public async Task <Dictionary <GRPCService, int> > GetServicesAsync(string serviceName) { var results = new Dictionary <GRPCService, int>(); var services = await _serviceFinder.FindByNameAsync(serviceName); foreach (var item in services) { GRPCService grpc_service = new GRPCService(item.Host, item.Port); results.Add(grpc_service, item.Weight); } return(results); }
static void Main(string[] args) { IGRPCConnection conn = new GRPCConnection(null, null); var grpcService = new MicroAngels.GRPC.Client.GRPCService("192.168.1.8", 1999); var service = conn.GetGRPCService <IPingService>(grpcService).Result; var pong = service.Ping(new Ping { Message = "Hello GRPC" }); Console.WriteLine("Client Received:" + pong.ResponseAsync.Result.Message); Console.ReadLine(); }