PhoneApplicationService.State
和PhoneApplicationPage.State
之间的区别是什么?
对我而言,它们看起来似乎有同样的目的,是否有特定情况我更喜欢一个而不是另一个?
答案 0 :(得分:7)
PhoneApplicationService.State
应该用于您希望存储的任何应用程序级别详细信息,而PhoneApplicationPage.State
用于页面级别详细信息。
为应用程序中的每个页面创建一个唯一的PAP.State,您应该尽可能使用它。整个应用程序都有一个PAS实例,您只应将其用于整个应用程序上下文中运行的任何内容(即不在页面内)。
更多请参阅:
http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.phoneapplicationservice.state(VS.92).aspx
http://msdn.microsoft.com/en-us/library/ff707603(v=VS.92).aspx
答案 1 :(得分:5)
PhoneApplicationPage.State
只能在 OnNavigatedTo 覆盖期间或之后或 OnNavigatedFrom 覆盖期间或之前访问。它也限于2MB的数据。由于这些原因,它用于存储与逻辑删除相关的瞬态数据。
PhoneApplicationService.State
用于在应用程序调用之间保留数据。
如果您想了解更多关于墓碑的信息,我强烈推荐Jeff Prosise的系列Real-World Tombstoning。