代码之家  ›  专栏  ›  技术社区  ›  Carlo

是否可以知道在不加载IsolatedStorageFile的情况下创建它的时间?

  •  4
  • Carlo  · 技术社区  · 14 年前

    我们将这些对象缓存在xml文件中,当24+超过时,我们不能忽略缓存的文件。我不想加载文件来检查24小时是否已经过去,所以我想知道是否有一种方法可以在不加载文件的情况下获取文件的元数据。类似于:

    using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
    {
        DateTime dateTimeCreated = file.GetAttributes(this.CacheFileName)["DateTimeCreated"];
    }
    

    4 回复  |  直到 14 年前
        1
  •  1
  •   Lukasz Madon    14 年前

    日志文件怎么样?(或者您可以在应用程序设置中列出日期+名称)

        2
  •  1
  •   tiwahu    14 年前

    根据文档,该方法旁边没有小的电话图标,因此可能不可用:

    http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile(VS.95).aspx

        3
  •  0
  •   Jobi Joy    14 年前

    我将使用IsolatedStorageSettings.ApplicationSettings将我的文件名和与该文件名关联的元数据作为类实例。 我已经在我的WP7应用程序中使用了这个,它工作得很好。一个很好的方案是检查某些缓存实现的文件到期,如果文件到期,我可以直接删除该文件。

        4
  •  0
  •   Mick N    14 年前

    如果您认为标准是当天,而不是过去的24小时,那么您可以实现以日期命名的目录,比如yyyymmdd格式,然后在您的iso接口层中查找当天目录中的文件。。如果找不到它,那么就没有它的缓存并生成它。

    您可以在方便的时候实现内部维护以清除非当前目录。

    这个策略将使你的24小时时间框架变得更像0-24小时。。所以平均12。。。根据一天中你认为你的用户可能使用你的应用的时间而改变。

    您可以通过巧妙地使用生成目录的算法来调整时间范围。例如,您可以使它每2天生成一个唯一的目录名(平均24小时缓存)。