Windows 8 SkyDrive API访问代码有时有效有时无效

Windows 8 SkyDrive API访问代码有时有效有时无效,windows-8,windows-runtime,microsoft-metro,onedrive,Windows 8,Windows Runtime,Microsoft Metro,Onedrive,我正在尝试从我的代码访问skydrive内容。下面的代码以前工作过,但突然停止执行第二个结果。不知道微软在背后做了什么!请帮忙。请不要确认作用域有效,并且我的win8应用程序已获得访问权限 var authClient = new LiveAuthClient(); var scopes = new[] { "wl.signin", "wl.skydrive", "wl.basic" }; Task<LiveLoginResult> resultTask = authClient.L

我正在尝试从我的代码访问skydrive内容。下面的代码以前工作过,但突然停止执行第二个结果。不知道微软在背后做了什么!请帮忙。请不要确认作用域有效,并且我的win8应用程序已获得访问权限

var authClient = new LiveAuthClient();
var scopes = new[] { "wl.signin", "wl.skydrive", "wl.basic" };
Task<LiveLoginResult> resultTask = authClient.LoginAsync(scopes);
var client = new LiveConnectClient(resultTask.Result.Session);
dynamic result1 = client.GetAsync("me/skydrive");


dynamic result2 = result1.Result;

result1 = client.GetAsync("me/skydrive");
result2 = result1.Result;
var-authClient=new-LiveAuthClient();
var scopes=new[]{“wl.signin”、“wl.skydrive”、“wl.basic”};
Task resultTask=authClient.LoginAsync(作用域);
var client=newliveconnectclient(resultTask.Result.Session);
dynamic result1=client.GetAsync(“me/skydrive”);
动态结果2=结果1.结果;
result1=client.GetAsync(“me/skydrive”);
结果2=结果1.结果;
谢谢
Kajal

您的代码缺少异步/等待

如果代码位于事件主体内,则使用
async void
作为返回类型,否则
async Task
其中
T
返回类型数据的类名

var authClient=new LiveAuthClient()

var scopes=new[]{“wl.signin”、“wl.skydrive”、“wl.basic”}

任务结果任务=waitauthClient.LoginAsync(作用域)

var client=newliveconnectclient(resultTask.Result.Session)

动态结果1=waitclient.GetAsync(“me/skydrive”)

动态结果2=结果1.结果

result1=waitclient.GetAsync(“me/skydrive”)

结果2=结果1.结果


如果它是商店应用程序,您可能希望使用
wait
而不是阻塞
Result
,否则您可能无法在商店中使用它。也就是说,除非
dynamic
引起问题,否则我看不出该代码片段有什么明显的错误。我会尝试使用
var
。状态仍然为“WaitingForActivation”,本地窗口中的会话范围显示为“null”。。仍然不走运,我在过去两个月一直在运行它,一切都很顺利。+1不确定它是否解决了问题,但这肯定是一种比阻塞更好的方法。