Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }