• WindowsPhone开发 +使用Live SDK相关API操作SkyDrive + IsolatedStorageSettings的Bug。


    环境描述:Windows 7 + Visual Studio 2010 + 真机(HTC c110e radar)。

    问题描述:使用Live SDK相关API操作SkyDrive。说实话微软的这个SDK还真是老旧,.Net4.5已经对异步调用提供了完善的API。这个还这么老旧不更新,开发起来确实很耗精力。

    操作SkyDrive的步骤分为简单的两部:1.验证身份(Microsoft.Live.LiveAuthClient)。2.各种操作(Microsoft.Live.LiveConnectClient)。

    问题麻烦在于这两个步骤操作都是异步,但是很蛋疼的微软提供的API是那种类似 (***_Complalted)的。。硬生生把咱们的一个操作序列割裂为两个部分。 

    我这边软件只要退出去之后,在进入软件就要再次手动点击《同意》按钮才能再次访问SkyDrive。但是,我看WindowsPhone7版的电子书软件:书中圣 身份验证了一次就好久才会再次要求重新验证身份,根本不用像我这边每次进软件访问SkyDrive就要再次点击《同意》按钮

    问题推测:我估计是《书中圣》中在身份验证之后的信息被存储了。

    采取措施:所以,我就把经过身份验证后得到的状态(Microsoft.Live.LiveConnectSession)给存进了IsolatedStorageSettings.ApplicationSettings["session"]=liveConnectSession。。

    之后当场进行获取(LiveConnectSession)(IsolatedStorageSettings.ApplicationSettings["session"])可以得到正确的值.

    但是,当软件退出再打开后,获取(LiveConnectSession)(IsolatedStorageSettings.ApplicationSettings["session"])的值就会报异常:NotKeyFindException。

    用软件查看了隔离存储空间跟目录下的_ApplicationSettings文件,发现被我给存进的键值对中没有“session”,倒是多了一个key:Microsoft.Live.LiveAuthClient.RefreshToken。

    这貌似是个Bug。

  • 相关阅读:
    Open source physics engine
    Free Platformers: Open Source Gamers Guide to Free Games
    安装路由后,显示已连接,却上不了网?
    http://blog.csdn.net/duanbeibei/article/details/5890436
    javascript权威指南 第8章 笔记2 Kevin
    javascript权威指南 第9章 笔记 Kevin
    javascript权威指南 笔记2 Kevin
    .Net 登录窗口 Kevin
    C# 中读XML时haschrildnodes方法老为true Kevin
    javascript权威指南 第8章 笔记 Kevin
  • 原文地址:https://www.cnblogs.com/605395451/p/2997123.html
Copyright © 2020-2023  润新知