示例#1
0
 public override async Task Execute(IReportContext context, ReportPhase phase, IScope scope = null)
 {
     context.SetHeader("Content-Type", "text/html");
     context.Write("<textarea>");
     context.Write(context.Data.stringify());
     context.Write("</textarea>");
 }
示例#2
0
        private async Task ExecutePhase(IReportContext context, ReportPhase phase, IScope scope)
        {
            Logg.Debug(new { op = "start phase", phase });
            var agents = context.Agents.Where(_ => _.Phase.HasFlag(phase)).OrderBy(_ => _.Idx).GroupBy(_ => _.Idx).ToArray();

            foreach (var grp in agents)
            {
                if (grp.Count() == 1)
                {
                    await grp.First().Execute(context, phase, scope);
                }
                else if (grp.All(_ => _.Parallel))
                {
                    var waitgroup = new List <Task>();
                    foreach (var agent in grp)
                    {
                        waitgroup.Add(agent.Execute(context, phase, scope));
                    }
                    Task.WaitAll(waitgroup.ToArray());
                }
                else
                {
                    foreach (var agent in grp)
                    {
                        await agent.Execute(context, phase, scope);
                    }
                }
            }
            Logg.Debug(new { op = "end phase", phase });
        }
示例#3
0
 public override async Task Execute(IReportContext context, ReportPhase phase, IScope scope = null)
 {
     context.SetHeader("Content-Type","text/html");
     context.Write("<textarea>");
     context.Write(context.Data.stringify());
     context.Write("</textarea>");
 }
        public override async Task Execute(IReportContext context, ReportPhase phase, IScope scope = null) {
            SetupMime(context);
            if (BuildHtml) {
                DoBuildHtml(context, scope);
            } else {
                DoStreamRender(context, scope);
            }

        }
示例#5
0
 public override async Task Execute(IReportContext context, ReportPhase phase, IScope scope = null)
 {
     SetupMime(context);
     if (BuildHtml)
     {
         DoBuildHtml(context, scope);
     }
     else
     {
         DoStreamRender(context, scope);
     }
 }
示例#6
0
        private async Task ExecutePhase(IReportContext context, ReportPhase phase,IScope scope) {
            Logg.Debug(new {op="start phase",phase});
            var agents = context.Agents.Where(_ => _.Phase.HasFlag(phase)).OrderBy(_ => _.Idx).GroupBy(_ => _.Idx).ToArray();
            foreach (var grp in agents) {
                if (grp.Count() == 1) {
                    await grp.First().Execute(context, phase, scope);
                }
                else if (grp.All(_ => _.Parallel)) {
                    var waitgroup = new List<Task>();
                    foreach (var agent in grp) {
                        waitgroup.Add(agent.Execute(context, phase, scope));
                    }
                    Task.WaitAll(waitgroup.ToArray());
                }
                else {
                    foreach (var agent in grp) {
                        await agent.Execute(context, phase, scope);
                    }
                }

            }
            Logg.Debug(new { op = "end phase", phase });
        }
示例#7
0
 public override async Task Execute(IReportContext context, ReportPhase phase, IScope scope = null)
 {
     context.Data["x"] = 1;
 }
示例#8
0
 public abstract Task Execute(IReportContext context, ReportPhase phase, IScope scope = null);
示例#9
0
 public override async Task Execute(IReportContext context, ReportPhase phase, IScope scope = null) {
     context.Data["x"] = 1;
 }