private static Categories.CategoriesClient CreateClient() { var channel = GrpcChannel.ForAddress("https://localhost:5071"); var client = new Categories.CategoriesClient(channel); return(client); }
public static async Task FetchCategoriesExampleCall() { var channel = GrpcChannel.ForAddress("https://localhost:5051"); var client = new Categories.CategoriesClient(channel); var request = new GetAllCategoriesRequest(); var replies = await client.GetAllCategoriesAsync(request); var categories = replies.Categories.ToList(); Console.WriteLine($"Received {categories.Count} categories."); }
public static async Task CreateCategoriesStreamingExampleCall(GrpcChannel channel) { var client = new Categories.CategoriesClient(channel); var count = 1; var receivedCount = 0; var maxCount = 100000; using (var call = client.CreateNewCategory()) { var responseTask = Task.Run(async() => { await foreach (var message in call.ResponseStream.ReadAllAsync()) { receivedCount++; } }); while (count < maxCount) { try { await call.RequestStream.WriteAsync(new CreateNewCategoryRequest { CategoryName = $"Category #{count++}" }); } catch (RpcException ex) when(ex.StatusCode == StatusCode.Cancelled) { Console.WriteLine("Cancelled"); break; } } Console.WriteLine("Disconnecting"); await call.RequestStream.CompleteAsync(); await responseTask; } }