Как разместить все объекты в вечном цикле 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
заявление в конце области. тебе не нужно ничего делать.