我有一个从Dynamics CRM中检索事务,下面的代码块(与OData的查询):动态CRM - 如何处理在.net
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?