0

我有一个每 1 小时运行一次的 Windows 服务。我想存储上次运行的日期时间,以便每次服务运行时都可以检查值(上次运行的日期时间)。此值用作服务用于获取数据的存储过程的参数之一。

现在,我的问题是存储上次运行日期值的最佳/理想方式是什么?

我可以想到3种方法:

  1. 将其存储在数据库表中。
  2. 将其存储在应用程序文件夹中的文本或 XML 文件中(这里的问题是:在应用程序文件夹中创建一个文本文件并每小时更新一次是否好?)。
  3. 在配置文件中创建一个部分并在每次执行服务时更新它。

请高手指教。

4

1 回答 1

1

如果您有一个服务需要检查它执行的最后一次运行完成的时间,我会将其存储为用户设置项。如果您认为也许您将有许多服务共享此任务,将其置于共享位置(如数据库)会有所帮助 - 尽管如果您将数据从用户设置迁移到数据库应该很容易需要使用多种服务。

我会避免使用自定义 XML 或数据文件,因为 .NET 和 Visual Studio 中已经支持用户(运行时)设置。

更新:

如果要使用用户设置,只需双击解决方案资源管理器中的设置(在项目的属性下)或在项目的属性中,选择设置选项卡。添加一个带有用户范围的值(可能是System.DateTime.LastExecuted

Properties.Settings.Default.LastExecuted = DateTime.Now;
Properties.Settings.Default.Save();
于 2013-02-24T18:32:38.970 回答