Как разместить все объекты в вечном цикле WHILE в консольном приложении в C#

Я должен проверить базу данных для некоторых запланированных задач, когда пришло время что-то делать.

Но когда он запустился (без вызова какой-либо другой функции), он занимает мой жесткий диск каждые 5 минут, 70 МБ. Это нормально? Как я могу решить эту проблему?

static void Main(string[] args)
{
    //dhpGroup_kukuEntities _efEntities = new dhpGroup_kukuEntities();
    while (true)
    {
            DateTime ServerNOW= DateTime.Now;

            using (dhpGroup_kukuEntities _efEntities = new dhpGroup_kukuEntities())
            {
                List<Schedual_JSON> ListSchedual = new List<Schedual_JSON>();
                var a =
                    _efEntities.Schedual_JSON.Where(
                        x =>
                            x.SCHJS_DateTimeSchedual.Value.Year == ServerNOW.Year &&
                            x.SCHJS_DateTimeSchedual.Value.Month == ServerNOW.Month &&
                            x.SCHJS_DateTimeSchedual.Value.Day == ServerNOW.Day &&
                            x.SCHJS_DateTimeSchedual.Value.Hour == ServerNOW.Hour &&
                            x.SCHJS_DateTimeSchedual.Value.Minute == ServerNOW.Minute &&
                            x.SCHHS_SendToThread == false).ToList();

                if (a.Count > 0)
                {
                    for (int i = 0; i < a.Count; i++)
                    {
                        Console.WriteLine("One Task Found!");
                    }

                    ThreadPool.QueueUserWorkItem(o => GetSchedualList(a));

                    foreach (var VARIABLE in a)
                    {
                        Console.WriteLine("One Scudule Regarding to User({0}) With {1} Channel(s) and {2} files Run to BasicThread", _efEntities.AspNetUsers.FirstOrDefault(x => x.Id == VARIABLE.SCHJS_UserID).UserName, getChannelCount(VARIABLE), getFileCount(VARIABLE));
                        VARIABLE.SCHHS_SendToThread = true;
                    }

                    _efEntities.SaveChanges();
                }
            }

            System.GC.Collect();
        }
}

1 ответ

using сфера делает это хорошо. Все объекты, созданные в одноразовом интерфейсе, будут удалены при создании в using заявление в конце области. тебе не нужно ничего делать.

Другие вопросы по тегам