Example #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapGet("/", async context =>
                {
                    int orderId;
                    Order.OrderClient orderClient = context.RequestServices.GetService <Order.OrderClient>();
                    try
                    {
                        var OrderResponse = orderClient.CreateOrder(new OrderRequest()
                        {
                            Id = 123, Name = "Phone", Price = 500.0
                        });
                        orderId = OrderResponse.OrderId;
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                    context.Response.ContentType = "text/plain; charset=utf-8";
                    await context.Response.WriteAsync($"订单创建成功,订单编号:{orderId}");
                });
            });
        }
Example #2
0
        private static Order.OrderClient CreateClient()
        {
            var channel = GrpcChannel.ForAddress("https://localhost:5071");

            var client = new Order.OrderClient(channel);

            return(client);
        }
Example #3
0
        private async Task <Product> GetProductByIdCallExample(Order.OrderClient client, int productId)
        {
            var request = new GetProductRequest {
                ProductId = productId
            };

            var replies = await client.GetProductAsync(request);

            return(replies.Product);
        }
        private async Task <List <Product> > FetchProductsCallExample(Order.OrderClient client)
        {
            var request = new GetAllProductRequest {
                Count = Count
            };

            var replies = await client.GetAllProductsAsync(request);

            return(replies.Products.ToList());
        }
        private static Order.OrderClient CreateClient()
        {
            var channel = GrpcChannel.ForAddress("https://localhost:5071", new GrpcChannelOptions
            {
                MaxReceiveMessageSize = 64 * 1024 * 1024, // 64 MB
                MaxSendMessageSize    = 64 * 1024 * 1024  // 64 MB
            });

            var client = new Order.OrderClient(channel);

            return(client);
        }
Example #6
0
        private static async Task FetchProductsExampleCall(GrpcChannel channel)
        {
            var client = new Order.OrderClient(channel);

            var request = new GetAllProductRequest();

            var replies = await client.GetAllProductsAsync(request);

            var products = replies.Products.ToList();

            Console.WriteLine($"Received {products.Count} products.");
        }
Example #7
0
 public WeatherForecastController(Order.OrderClient orderClient)
 {
     _orderClient = orderClient;
 }
Example #8
0
 public DefaultController(Order.OrderClient orderClient)
 {
     _orderClient = orderClient;
 }
Example #9
0
 static GrpcFetchOneProductBenchmark()
 {
     Client = CreateClient();
 }