0

我已经在我的 Windows Phone 8 应用程序中实现了一个(目前)简单的后台代理。在后台代理中,发出 WebRequest 以更新以 XML 形式存储在 IsolatedStorage 中的股票列表。在应用程序的其他部分,在调试过程中,我可以看到当前登录的用户;但是,当 BackgroundAgent 启动时,CurrentUser 为空。此时,CurrentUser不应该被缓存在应用程序中吗?它似乎为应用程序的一部分(主应用程序)缓存,但在其他部分(后台代理)中未缓存/不可接受。当前用户似乎从未在我的后台代理中设置。我愿意提供更多信息,但有人知道这是错误还是实现错误?

问题:在 BackgroundAgent 中 CurrentUser 总是设置为 null。BackgroundAgent 中的会话是否与主项目不同(这就是它从未设置的原因)?任何帮助表示赞赏。

4

1 回答 1

1

后台代理和前台应用程序没有直接的通信方式,因为不能保证两者会同时运行并且它们是独立的进程。

操作系统不提供用于通信的 API,因此两种首选方法是......

  1. 使用 Web 服务将数据从前台应用程序同步到后台代理
  2. 使用独立存储在前台应用程序和后台代理之间共享数据

关于凭据 - 有一些方法可用于加密 .NET 中的数据,但为了将来参考,如果您以 WP8.1(SL 或 XAML)为目标,则可以使用PasswordVault 。

于 2014-05-21T12:53:44.790 回答