0

我正在尝试从我的代码中访问 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;

谢谢卡哈尔

4

1 回答 1

2

您的代码缺少异步/等待。

如果您的代码在事件主体内,则async void用作返回类型,否则返回类型数据async Task<T>T类名。

var authClient = new LiveAuthClient();

var scopes = new[] { "wl.signin", "wl.skydrive", "wl.basic" };

任务结果Task = await authClient.LoginAsync(scopes);

var client = new LiveConnectClient(resultTask.Result.Session);

动态结果1 = await client.GetAsync("me/skydrive");

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

result1 = 等待client.GetAsync("me/skydrive");

结果2 = 结果1.结果;

于 2013-05-19T12:29:33.770 回答