zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    OA项目之分页
    OA项目之弹出层中再弹出层
    OA项目之导入
    OA项目之导出
    git使用6步走
    配置 Docker 镜像站
    Taro随笔
    byte(C# 参考)
    MySQL 笔记
    HTTP 错误代码
  • 原文地址:https://www.cnblogs.com/605395451/p/2997123.html
Copyright © 2011-2022 走看看