Exemplo n.º 1
0
        private static IEnumerable <T> GetErrors <T>(ElmahCore.ErrorLog log, int pageSize, Func <int, ErrorLogEntry, T> resultor)
        {
            Debug.Assert(log != null);
            Debug.Assert(pageSize > 0);
            Debug.Assert(resultor != null);

            var entries = new List <ErrorLogEntry>(pageSize);

            for (var pageIndex = 0; ; pageIndex++)
            {
                log.GetErrors(pageIndex, pageSize, entries);
                if (!entries.Any())
                {
                    break;
                }
                foreach (var entry in entries)
                {
                    yield return(resultor(pageIndex, entry));
                }
                entries.Clear();
            }
        }