【发布时间】:2016-04-22 12:46:59
【问题描述】:
我有以下从 Dynamics CRM 检索交易的代码(使用 OData 查询):
public async Task<IEnumerable<Transaccion>> GetTransactions()
{
var tableName = Transaccion.CrmTableName;
var request = new RestRequest($"/api/data/v8.0/{tableName}");
request.AddHeader("Prefer", "odata.maxpagesize=500");
var responseData = await client.ExecuteGetTaskAsync<ODataResponse<List<Transaccion>>>(request);
var transactions = responseData.Data.Value;
while (responseData.Data.NextLink != null)
{
request = new RestRequest(responseData.Data.NextLink);
request.AddHeader("Prefer", "odata.maxpagesize=500");
responseData = await client.ExecuteGetTaskAsync<ODataResponse<List<Transaccion>>>(request);
transactions.AddRange(responseData.Data.Value);
}
return transactions;
}
一旦我执行了第一个“ExecuteGetTaskAsync”,我就得到了我的示例,并且正如预期的那样,NextLink 属性指向了我需要检索的下一组实体。但是,当我尝试执行下一个 RestRequest 时,我没有得到 JSON 作为响应,而是一个对应于重定向的 Html 页面,我可以在其中读取错误消息“”。
这很奇怪,因为 Restclient 已正确验证,所以第一次调用可以正确进行。
发生了什么事?如何在 .Net 中使用 Dynamics CRM 进行分页并使用 NextLink?
【问题讨论】:
标签: c# rest odata dynamics-crm