在项目之间共享对象和信息

时间:2015-03-02 10:26:58

标签: c# azure windows-phone-8 windows-phone isolatedstorage

我正在制作Windows手机应用程序,并将我的解决方案分成4个项目。

  • 的WebService
  • MainProject
  • SecondaryProject
  • PortableLibrary

我使用Portable Library在所有项目之间共享模型。但是如何分享信息,我知道我可以使用Uri Scheme共享变量和其他元素:

NavigationService.Navigate(new Uri("/Project;component/URI.xaml", UriKind.Relative));

但是如果我想解析Complex对象呢?

伪代码和程序流程的示例:

**STARTUP->MainProject**
UILoad();                     //Login UI shown
MobileService.Authenticate(); //Authentication stored in Isolated storage through CreditVault.
NavigateTo->MainMenu();       //

**MainMenu->SecondaryProject**
NavigationService.Navigate(new Uri("/SecondaryProject;component/URI.xaml", UriKind.Relative)); 
MobileService.AccessRestrictedInformation(); //How to still be authenticated here?
SavePictureAndInformation();  //How to make Information available to all projects in the solution?

我在startupPage上的身份验证允许我自动重新验证用户身份,这就是我将其加密存储的原因。

问题

其他项目是否可以访问第一个项目的IsolatedStorage,如果是这样的话?

如果我在启动时对用户进行身份验证,那么解决方案中另一个项目中创建的移动服务是否也会被验证?

我错过了一些聪明的人吗?

外部信息

我需要使用页面设置多个项目,并且不能将它们插入到同一个项目中。因此,将它放在同一个项目中并不是一个解决方案。

1 个答案:

答案 0 :(得分:1)

您可以使用IsolatedStorage在项目之间共享信息,也可以使用application.current.resources,从此链接http://mikaelkoskinen.net/windows-phone-pass-data-between-pages-application-resources/

希望有人觉得有用:)