gpt4 book ai didi

c# - 异步替代

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:52 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中实现此代码以将数据备份到 skydrive http://netitude.bc3tech.net/2012/07/11/skydrive-backup-of-your-mobile-applets-get-some-common-ground/

但是我怎么无法安装 Async CTP(我在 2 - 3 天内进行了测试,但 async ctp 没有正常安装...我已经尝试过解决方案,但问题仍然存在)。可以做同样的事情但不使用异步吗?如何等待完成任务继续?

使用这些工具“Windows Phone SDK 7.1 和 7.1.1 更新”:https://dev.windowsphone.com/en-us/downloadsdk

(...)

var rootFolders = JObject.Parse((await client.GetAsyncTask("/me/skydrive/files?filter=folders,albums")).RawResult);
var progDataFolder = rootFolders["data"].FirstOrDefault(f => f.Value<string>("name").Equals("programdata", StringComparison.OrdinalIgnoreCase));
string progDataFolderId;
if (progDataFolder == null)
{
var result = await client.PostAsyncTask("me/skydrive/",
new Dictionary<string, object>() { { "name", "ProgramData" } });**

progDataFolderId = JObject.Parse(result.RawResult).Value<string>("folder_id");
}
else
{
progDataFolderId = progDataFolder.Value<string>("id");
}

var windowsPhoneFolder = JObject.Parse((await client.GetAsyncTask(string.Concat("/", progDataFolderId, "/files?filter=folders,albums"))).RawResult)["data"]
.FirstOrDefault(f => f.Value<string>("name").Equals("windows phone", StringComparison.OrdinalIgnoreCase));
string windowsPhoneFolderId;
if (windowsPhoneFolder == null)
{
var result = await client.PostAsyncTask(string.Concat("/", progDataFolderId),
new Dictionary<string, object>() { { "name", "Windows Phone" } });**

windowsPhoneFolderId = JObject.Parse(result.RawResult).Value<string>("id");
}
else
{
windowsPhoneFolderId = windowsPhoneFolder.Value<string>("id");
}

(...)

替代方法。示例:

var result = await client.PostAsyncTask("me/skydrive/",
new Dictionary<string, object>() { { "name", "ProgramData" } });

最佳答案

如果您有Task,您可以使用所谓的“延续传递方式”。本质上,在您使用 await 的任何地方,您都可以调用 Task.ContinueWith 并传入您的方法的其余部分。循环更复杂,但也可以用延续来处理。

请注意,如果您没有正确安装 Async CTP,GetAsyncTask 可能无法正常工作。所以在你的情况下,我建议你使用 Event-based Asynchronous Pattern (EAP) LiveConnectClient 类已经支持:例如,订阅 GetCompleted 事件,然后调用 GetAsync。参见 this post举个例子。

关于c# - 异步替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com