2

对于asp.net页面,术语“应用程序数据”是指所有用户共有的数据,而术语“会话数据”是指特定于给定用户会话的数据(并且不会在登录之间持续存在) .

但是,在讨论 Windows 8 应用程序生命周期时,该定义似乎发生了变化。

对于 Windows 8 应用程序,术语“应用程序数据”似乎是指特定于给定用户的数据(并且在登录之间持续存在),而“会话数据”似乎是指特定于给定登录会话的数据。

在线 Microsoft 教程(对我而言)在“应用程序数据”和“会话数据”的分类中显得有些模糊。看来(在我看来)“应用程序数据”只是您希望在会话(或暂停终止事件)之间保留的任何数据,而会话数据只是您不想在会话之间看到的数据(或暂停-终止事件)

我的理解正确吗?“应用程序数据”和“会话数据”的定义仅仅是关于如何在会话之间存储和检索数据(ergo - 不是真正的数据决策,而是设计决策)吗?

谢谢。

4

1 回答 1

4

暂时把术语放在一边,看看应用程序状态和它的要求是很好的。

首先,有一些设置和配置应该在应用程序运行时始终保持不变,例如用户设置的帐户、他或她的偏好等等。这些设置将在应用程序启动时加载,例如从磁贴、通过合同等。通常,只要状态发生变化,就会保存该状态。

其次,如果一个应用程序被系统挂起然后终止,然后又被用户切换到(磁贴或左滑等),我们要求应用程序保持它一直在运行并且没有关闭的感觉下。对于这种情况,应用程序需要保存更多的临时状态,如导航堆栈、未提交的表单数据、当前平移位置等,这样如果在终止后重新启动,它可以重新加载此状态并显示为之前的状态。暂停事件是当您确保保存此类状态时,尽管通常在它更改时保存它很方便。

所有这些状态都可以归类为“应用程序数据”,但我更喜欢将“应用程序数据”用于第一个(持久)状态,将“会话数据”或“会话状态”用于第二个(临时)状态。我在我在 //build 发表的演讲中使用了这些术语,称为“国家的故事”(请参阅​​此处了解 2013 年的演讲,这是对 2012 年的演讲稍作修改)。

除了正确识别该术语之外,这实际上是为您的应用程序定义有状态体验,然后使用应用程序数据(和/或 WinJS)API 在任何时间保存/加载您需要的任何状态的问题。你怎么称呼它是无关紧要的,因为它最终都存储在同一个地方。主要区别在于您何时加载或不重新加载它。

于 2013-10-10T04:08:28.110 回答