BigPipe.Helpers.BigPipeHelper.ExecutePagelets C# (CSharp) Method

ExecutePagelets() public static method

public static ExecutePagelets ( this helper ) : void
helper this
return void
        public static void ExecutePagelets(this HtmlHelper helper)
        {
            var context = helper.ViewContext.HttpContext;
            List<Pagelet> pagelets = (List<Pagelet>)context.Items["Pagelets"];
            if (pagelets == null) return;

            //initialize bigpipe object
            context.Response.Write(String.Format("<script> var bigpipe = new BigPipe({0});</script>", pagelets.Count));
            context.Response.Flush();

            Parallel.For(0, pagelets.Count, (i) =>
            {
                System.Diagnostics.Debug.WriteLine("Pagelet " + i + " started at " + DateTime.Now.ToLongTimeString());
                var pagelet = pagelets[i];
                pagelet.Execute();

                lock(_locker) {
                    context.Response.Write(pagelet.Serialize());
                    context.Response.Flush();
                }
                System.Diagnostics.Debug.WriteLine("Pagelet " + i + " finished at " + DateTime.Now.ToLongTimeString());

            });
        }