如何创建一个进程,该进程检查日期时间并在经过时间后执行操作
本文关键字:时间 进程 操作 日期 检查 经过 执行 创建 何创建 一个 | 更新日期: 2023-09-27 18:07:53
在我的dll中,我正在序列化一个需要过期的对象,并在x天过去时重新生成。我怎样才能做到这一点,不需要调用应用程序每天重新启动(为了在我的dll中启动日期时间检查)?
使用。net 3.5
private void updatePersistableItems()
{
if (!File.Exists(Items_FILENAME) && PersistableItems != null) //create new
{
_serializer.SerializeObject<PersistableObject>(Items_FILENAME, PersistableItems);
}
else //check if expired and replace, or update if not expired
{
PersistableObject ItemsFromStorage = new PersistableObject();
ItemsFromStorage = _serializer.DeSerializeObject<PersistableObject>(Items_FILENAME);
TimeSpan ts = DateTime.Now - ItemsFromStorage.DateItemsInitialized;
if (ts.TotalDays < this.DaysToPersistItems) //use stored Items
Items = ItemsFromStorage.Items;
}
}
使用Timer定期调用进行检查的函数:http://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx
你可以用while循环来启动新线程。一旦在应用程序启动时执行,线程就可以检查内容到期前的剩余时间,并在剩余时间内进入睡眠状态。一旦睡醒后,刷新内容,计算剩余睡眠时间....:)
听起来像是一个任务调度程序的工作,可以通过c#这个包装器来控制。使用此方法,即使您的应用程序没有一直运行,也可以将更新安排为运行。