4

我开发了一个使用Last-Modified标头的 HTTP 资源,它应该反映对应用程序所做的任何修改。我想更新此字段以告知构建日期或上次应用程序更新日期。这是我想到的一些解决方案:

  1. 每当构建应用程序时,使用构建脚本更改 DateTime 设置。

  2. 获取应用文件夹中所有文件的最新修改时间

什么方法看起来更有趣?你有什么建议吗?

4

1 回答 1

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

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

  3. 在您的 AssemblyInfo 中,指定一个版本,[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);

于 2010-01-07T15:47:40.413 回答