2010-01-07 123 views
4

我开发了一个HTTP资源,使用Last-Modified标题,它应该反映对应用程序所做的任何修改。我想更新这个字段来告诉生成日期或最后一次应用程序更新日期。以下是我想到的一些解决方案:如何根据构建更新设置?

  1. 无论何时构建应用程序,都可以使用构建脚本来更改DateTime设置。

  2. 获取所有文件的最后修改时间在应用程序文件夹

什么办法似乎更有意思吗?你有什么建议吗?

回答

2
  1. 很容易做到。您可以写出一个简单的文件(例如xml)并将其添加为嵌入式资源,以便将其编译到您的应用程序中。这给你提供你需要的任何形式的信息的自由。

  2. 我会避免这种情况。这有点冒险,并且容易出现问题(例如,如果将日志文件写入文件夹,那么您将开始报告今天的日期而不是生成日期)。更好,更容易刚才读从Application.StartupPath的日期戳(即主.exe文件)

  3. 在你的程序集信息,指定版本的[assembly: AssemblyVersion("1.23.*")],编译器会自动添加构建日期和时间的版本(其会看起来有点像:1.23.4567.12345)。然后,您可以阅读汇编的日期/时间使用了(从搜索命中捏,但看起来大约右):

AssemblyName an = Assembly.GetEntryAssembly().GetName(); 
DateTime date = new DateTime(2000, 1, 1, 0, 0, 0); 
date += TimeSpan.FromDays(an.Version.Build) + TimeSpan.FromSeconds(an.Version.Revision * 2); 

+0

非常有趣! – 2010-01-07 16:05:12

相关问题