如何创建一个进程,该进程检查日期时间并在经过时间后执行操作

本文关键字:时间 进程 操作 日期 检查 经过 执行 创建 何创建 一个 | 更新日期: 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#这个包装器来控制。使用此方法,即使您的应用程序没有一直运行,也可以将更新安排为运行。