从不同项目访问Windows Phone上的Azure移动服务

时间:2015-03-28 14:23:43

标签: c# silverlight azure windows-phone-8 azure-mobile-services

您好我有以下异常:

  

其他信息:无法完成请求。 (错误请求)

我不明白为什么因为函数工作有时因此我在stackoverflow上找到了以下内容: MobileServiceInvalidOperationException When Trying To Retrieve Data From Azure。 遗憾的是,这个问题无法解决我的问题。

时间是正确的,我正在使用https连接。所有的沟通都很完美。然而,我将Windows Phone Silverlight应用程序划分为多个项目,我之所以在另一个stackoverflow问题中说明了这一点:Deleting project/pages/usercontrols from memory

申请流程为:

  • 项目1:

    1. 登录(验证移动服务)
    2. 成功后导航至Mainmenu。
    3. 联系服务await MobileService.InvokeApiAsync<DTO.UserInfoDTO, DTO.UserInfoDTO>(UserInfoDTO);成功始终!
    4. MobileService保存到资源Application.Current.Resources.Add("NavigationParam", App.MobileService);并导航到新项目。
  • 项目2:
    1. 检索到的导航参数MobileService = MobileServiceClient)Application.Current.Resources["NavigationParam"];(查看调试器时信息似乎完好无损)。
    2. 联系服务await MobileService.InvokeApiAsync<DTO.UserInfoDTO, DTO.UserInfoDTO>(UserInfoDTO);成功从不!

我知道程序包在项目2中是有序的,因为我可以将信息上传到blob存储,并且两个项目中的包含相同。但是,只要我联系自己的后端服务,应用程序就会崩溃,并出现上述异常。

所以任何人都可以帮我解决这个问题,我是否需要创建一个新的mobileservice客户端并重新进行身份验证?看起来很蠢?

1 个答案:

答案 0 :(得分:1)

我不确定出了什么问题,但一般来说,我建议在这里制作一个新的客户端实例。

为避免登录问题,我会考虑缓存移动服务的令牌。 (见:http://azure.microsoft.com/en-us/documentation/articles/mobile-services-windows-dotnet-how-to-use-client-library/#caching

然后您可以启动新客户端,重用现有的身份验证令牌等,然后继续。