public Task <ViewResult> Index2() { var tcs = new TaskCompletionSource <ViewResult>(); var client = new ServiceDecorator(new NewsServiceClient()); var timer = new Stopwatch(); timer.Start(); var worldNews = client.GetWorldNewsTaskAsync(); var sportNews = client.GetSportNewsTaskAsync(); var funNews = client.GetFunNewsTaskAsync(); var allNews = Task.WhenAll(worldNews, sportNews, funNews); allNews.ContinueWith(r => { IEnumerable <NewsModel> result = new List <NewsModel>(); result = r.Result.Aggregate(result, (current, news) => current.Concat(news.Convert())); var model = new ViewModel { News = result, Elapsed = timer.Elapsed }; tcs.SetResult(View("Index", model)); timer.Stop(); }); return(tcs.Task); }
public Task<ViewResult> Index2() { var tcs = new TaskCompletionSource<ViewResult>(); var client = new ServiceDecorator(new NewsServiceClient()); var timer = new Stopwatch(); timer.Start(); var worldNews = client.GetWorldNewsTaskAsync(); var sportNews = client.GetSportNewsTaskAsync(); var funNews = client.GetFunNewsTaskAsync(); var allNews = Task.WhenAll(worldNews, sportNews, funNews); allNews.ContinueWith(r => { IEnumerable<NewsModel> result = new List<NewsModel>(); result = r.Result.Aggregate(result, (current, news) => current.Concat(news.Convert())); var model = new ViewModel { News = result, Elapsed = timer.Elapsed }; tcs.SetResult(View("Index", model)); timer.Stop(); }); return tcs.Task; }
protected Task <RequestResult <TResult> > SendApiMethod <TResult>( Func <Task <TResult> > apiFunc, ApiMethodContext apiContext, [CallerMemberName] string callerMethodName = null) where TResult : class { var context = GetServiceMethodContext(callerMethodName) ?? Context; return(ServiceDecorator.SendApiMethod(context, apiFunc, apiContext)); }
public override void Initialize() { base.Initialize(); Mvx.IoCProvider.RegisterType <IContactService, ContactService>(); var serviceDecorator = new ServiceDecorator(); ServiceDecorator.AddDefaultFilters(serviceDecorator); Mvx.IoCProvider.RegisterSingleton <IServiceDecorator>(serviceDecorator); Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IContactProvider, ContactProvider>(); RegisterAppStart <MainViewModel>(); }
public Task<ViewResult> Index3() { var service = new NewsServiceClient(); var client = new ServiceDecorator(service); var timer = new Stopwatch(); timer.Start(); return from w in client.GetWorldNewsTaskAsync() from s in client.GetSportNewsTaskAsync() from f in client.GetFunNewsTaskAsync() let all = w.Union(s).Union(f).Convert() select View("Index", new ViewModel { News = f.Convert(), Elapsed = timer.Elapsed }); }
public Task <ViewResult> Index3() { var service = new NewsServiceClient(); var client = new ServiceDecorator(service); var timer = new Stopwatch(); timer.Start(); return (from w in client.GetWorldNewsTaskAsync() from s in client.GetSportNewsTaskAsync() from f in client.GetFunNewsTaskAsync() let all = w.Union(s).Union(f).Convert() select View("Index", new ViewModel { News = f.Convert(), Elapsed = timer.Elapsed })); }