페이징 쿠키를 사용하려는 것 같습니다. 보기 및 더 많은 정보를위한 연결을보십시오.
https://msdn.microsoft.com/en-us/library/gg328046.aspx
편집
당신은 루프의 각 반복에 대한 페이징 쿠키를 다시하지만, 기존의 페이징 쿠키에 기초해야합니다.
아래의 코드는 내가 링크 된 예입니다.
public string CreateXml(string xml, string cookie, int page, int count)
{
StringReader stringReader = new StringReader(xml);
XmlTextReader reader = new XmlTextReader(stringReader);
// Load document
XmlDocument doc = new XmlDocument();
doc.Load(reader);
return CreateXml(doc, cookie, page, count);
}
이 첫 번째 방법은 페이지 당 반환 할 FetchXml, pagingcookie, 현재 페이지 및 항목 수를 사용합니다.
public string CreateXml(XmlDocument doc, string cookie, int page, int count)
{
XmlAttributeCollection attrs = doc.DocumentElement.Attributes;
if (cookie != null)
{
XmlAttribute pagingAttr = doc.CreateAttribute("paging-cookie");
pagingAttr.Value = cookie;
attrs.Append(pagingAttr);
}
XmlAttribute pageAttr = doc.CreateAttribute("page");
pageAttr.Value = System.Convert.ToString(page);
attrs.Append(pageAttr);
XmlAttribute countAttr = doc.CreateAttribute("count");
countAttr.Value = System.Convert.ToString(count);
attrs.Append(countAttr);
StringBuilder sb = new StringBuilder(1024);
StringWriter stringWriter = new StringWriter(sb);
XmlTextWriter writer = new XmlTextWriter(stringWriter);
doc.WriteTo(writer);
writer.Close();
return sb.ToString();
}
이 결과의 다음 페이지를 반환하는 새로운 FetchXml을 축적하지만, 반환 할 필요가있는 다음 페이지인지를 결정하기 위해 현재의 페이징 쿠키를 사용합니다 : 그것은 다시 다음을 호출합니다.
다음은 결과를 얻기 위해 다음을 호출하는 것입니다.
RetrieveMultipleRequest fetchRequest1 = new RetrieveMultipleRequest
{
Query = new FetchExpression(xml)
};
EntityCollection returnCollection = ((RetrieveMultipleResponse)_service.Execute(fetchRequest1)).EntityCollection;
링크의 전체 코드 샘플을 읽고 그것이 무엇을하는지 이해하고 있는지 확인하십시오. 모든 것이 있습니다.
대기, 메서드 내에서 병합 된 데이터 집합을 가져 오기 위해 2 개의 RetrieveMultiple 결과 집합 (엔티티 A + B)의 조합을 관리합니다.그러나 페이징 쿠키는 RetreiveMultiple 호출 자체에서 페이지 매김을하기 때문에 LINQ를 사용하여 로컬 병합 된 데이터 집합에서 페이지 매김을해야합니다. 마지막 쿠키의 고유 식별자를 얻을 수있는 페이지 쿠키의 –