UWP中的ApplicationData版本

时间:2016-02-07 10:01:02

标签: uwp

我有一个空白的UWP应用程序,我在ApplicationData中写了一些设置,当我增加我的包版本时,我的applicationData版本没有改变。 另一个问题是,当我使用SetVersionAsync方法设置我的AppData版本之后,我从myAppData读取设置,它会读取最新的设置,因为版本不同,我期待不读最新版本。 有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:7)

我认为您没有正确接近应用程序数据版本。包版本和应用程序数据版本之间没有直接关联。应用程序数据版本控制的目的是允许更改您在应用程序版本之间用于应用程序数据的格式。

这是典型情况:

  1. 在应用程序的第一个版本中,您只需将数据保存到应用程序数据中,而不关注版本。隐式地将版本设置为0。在您需要更改要保存的数据的格式之前,请继续这样做。
  2. 当您最终需要更改存储数据的格式时,您将开始关注应用程序数据的版本。您将首先检查ApplicationData.Version的值。如果其值为0,您将使用旧代码加载数据。完成后,您将调用ApplicationData.SetVersionAsync,将版本设置为1,并根据新格式将加载的数据保存在处理程序中。下次加载应用程序时,应用程序数据版本将为1,您将使用新代码加载它。
  3. 您每次都会重复此过程,您将需要更改格式,增加应用程序数据版本(通常为1)。您将始终需要支持加载所有旧版本的应用程序数据,因为用户可能最后使用任何先前版本的应用程序保存数据,最后尝试使用最新版本加载它。加载数据后,您将始终以最新格式保存,方法是使用应用程序数据版本的最新值调用ApplicationData.SetVersionAsync