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。

  • 相关阅读:
    C# 使用SMTP发送附件
    C# 获取文件名及扩展名
    邮件添加附件
    WPF 加载GIF动画
    IIS端口被占用 转载
    ReDim Preserve 的用途
    c# 构造函数执行顺序
    WriteLog
    SMS发送短信设置HttpWebRequest
    Directory.GetFiles
  • 原文地址:https://www.cnblogs.com/605395451/p/2997123.html
Copyright © 2011-2022 走看看