0

コードからスカイドライブのコンテンツにアクセスしようとしています。次のコードは以前は機能していましたが、突然 2 番目の結果の実行を停止しました。マイクロソフトが背後で何をしたかわかりません! 助けてください。スコープが有効で、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/await がありません。

コードがイベント本体内にある場合はasync void、戻り値の型として使用します。それ以外のasync Task<T>場合はT、戻り値の型データのクラス名を使用します。

var authClient = new LiveAuthClient();

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

タスク resultTask = await authClient.LoginAsync(scopes);

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

dynamic result1 = await client.GetAsync("me/skydrive");

動的result2 = result1.Result;

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

結果2 = 結果1.結果;

于 2013-05-19T12:29:33.770 に答える