PhoneApplicationService.State与PhoneApplicationPage.State

时间:2011-03-25 11:02:34

标签: windows-phone-7

PhoneApplicationService.StatePhoneApplicationPage.State之间的区别是什么?

对我而言,它们看起来似乎有同样的目的,是否有特定情况我更喜欢一个而不是另一个?

2 个答案:

答案 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