我正在使用控制台应用程序(C#)。它所做的是从数据库中提取文件并将它们存储在本地计算机上C驱动器上的相关文件夹中。上次应用程序运行的存储日期/时间
目前,每次运行控制台应用程序时,它都会从数据库中提取所有文件。
我希望能够做到的是每次运行它时,它只会提取自我上次运行控制台应用程序以来提交的文件。目前,这是从数据库中提取文件的linq语句。
var titleObjects = ctn.Titles.Where(t => !t.Deleted && t.SubmissionState == 2 &&(t.Approved.HasValue && t.Approved.Value)).Select(t => t);
理想情况下,我想类似如下,其中应用程序的最后运行的日期和时间存储的地方:
var titleObjects = ctn.Titles.Where(t => !t.Deleted && t.SubmissionState == 2 && t.CreatedDate >= LastAppRun && t.CreatedDate <= DateTime.Now && (t.Approved.HasValue && t.Approved.Value)).Select(t => t);
我如何去实现这个不确定。如果任何人有任何意见,我会非常感谢:)
当您的应用程序启动时,获取当前日期/时间并处理“最后”日期/时间和当前时间之间的消息。在应用程序退出前,让它将当前时间保存为“最后”(您可以将时间格式设置为YYYYMMDDHHMMSS并保存到文件中)。你不确定哪部分? – Jon 2010-11-25 14:09:41
@Jon,我只是不确定最好的办法是诚实。目前(我没有把它包括在上面)我有应用程序设置为要求用户输入和输出日期,但是我希望它能够更加无缝地工作。我只是不确定我将如何去保存应用程序中的“最后”日期/时间(不使用数据库)或甚至可能。 – 109221793 2010-11-25 14:13:37
我能想到的选项:1.您自己的文件在磁盘上您选择的位置。 2.`System.Configuration` 3.`System.IO.IsolatedStorage` 4.注册表5.数据库本身。 – Ani 2010-11-25 14:17:00