コード例 #1
0
        private void LoadSaleOrders()
        {
            statistics.Add(new Statistic {
                ThreadId = Thread.CurrentThread.ManagedThreadId, Message = "LoadSaleOrders():Start"
            });
            SaleOrderProxyService.SaleOrderServiceClient client   = new SaleOrderProxyService.SaleOrderServiceClient();
            IList <SaleOrderProxyService.SaleOrder>      products = client.GetSaleOrders();

            statistics.Add(new Statistic {
                ThreadId = Thread.CurrentThread.ManagedThreadId, Message = "LoadSaleOrders():End"
            });

            SaleOrderGridView.DataSource = products.Take(10);
            SaleOrderGridView.DataBind();
        }
コード例 #2
0
        private async Task LoadAsync()
        {
            statistics.Add(new Statistic {
                ThreadId = Thread.CurrentThread.ManagedThreadId, Message = "LoadAsync():Start"
            });
            ProductProxyService.ProductServiceClient     client          = new ProductProxyService.ProductServiceClient();
            SaleOrderProxyService.SaleOrderServiceClient saleOrderClient = new SaleOrderProxyService.SaleOrderServiceClient();
            PersonProxyService.PersonServiceClient       personClient    = new PersonProxyService.PersonServiceClient();


            var productsTask   = client.GetProductsTaskAsync();
            var saleOrdersTask = saleOrderClient.GetSaleOrdersTaskAsync();
            var personTask     = personClient.GetPersonsTaskAsync();

            statistics.Add(new Statistic {
                ThreadId = Thread.CurrentThread.ManagedThreadId, Message = "LoadAsync():Before WhenAll()"
            });

            await Task.WhenAll(productsTask, saleOrdersTask, personTask);

            statistics.Add(new Statistic {
                ThreadId = Thread.CurrentThread.ManagedThreadId, Message = "LoadAsync():Tasks all done."
            });

            LoadProducts(productsTask.Result);
            LoadSaleOrders(saleOrdersTask.Result);
            LoadPersons(personTask.Result);

            statistics.Add(new Statistic {
                ThreadId = Thread.CurrentThread.ManagedThreadId, Message = "LoadAsync():Exit"
            });
            ThreadGridView.DataSource = statistics;
            ThreadGridView.DataBind();

            TimeSpan ts = pageWatch.Elapsed;

            PageElapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                                            ts.Hours, ts.Minutes, ts.Seconds,
                                            ts.Milliseconds / 10);
        }