static UpdateCycle <HElement> PushUpdate(HElement page) { lock (locker) { var lastUpdate = Updates.LastOrDefault(); var cycle = (lastUpdate != null ? lastUpdate.Cycle : 0) + 1; var update = new UpdateCycle <HElement>(null, cycle, page, null); Updates = Updates.Skip(Math.Max(Updates.Length - 100, 0)).Concat(new[] { update }).ToArray(); return(update); } }
static UpdateCycle <HElement> PushUpdate(HttpContext context, string handlerName, HElement page, object state) //HACK updateCycle меняется после добавления в очередь { lock (Updates_Locker(context)) { var updates = Updates(context); var lastUpdate = updates.LastOrDefault(); var cycle = (lastUpdate != null ? lastUpdate.Cycle : 0) + 1; var update = new UpdateCycle <HElement>(handlerName, cycle, page, state); updates = updates.Skip(Math.Max(updates.Length - 100, 0)).Concat(new[] { update }).ToArray(); context.Session["Wui.updates"] = updates; return(update); } }