如何使用.NET库和指数退避获取所有Google联系人

时间:2013-08-29 22:53:33

标签: google-docs-api

使用.NET客户端库get all the contacts通常是这样做的:

Feed<Contact> f = cr.GetContacts();
foreach (Contact e in f.Entries)
{
    // do something with the contact e
}

我想修改它,以便我可以捕获503错误并使用指数退避重新尝试请求。我理解如何捕获错误并进行指数退避,但我正在努力学习语法,以便在重新尝试时按顺序循环遍历所有条目。我认为它是这样的:

Feed<Contact> f = cr.GetContacts();
try
{
    foreach (Contact e in f.Entries)
    {
        // do something with the contact e
    }
}
catch (GDataRequestException e)
{
    // see if this should be re-tried, and if so repeat position in the foreach loop
}

任何有关结构/语法的帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我找到了一个在我的案例中有所帮助的解决方案:

this._contactsRequest.Settings.AutoPaging = true;

只需将ContactsRequest对象设置中的AutoPaging属性设置为true即可,但操作需要很长时间(在我的情况下为250个测试联系人)。