나는 다음과 같은 보이는 방법을 가지고 외부 WCF 서비스를 사용한다 프로젝트가 :많은 양의 데이터를 청크로 읽는 방법?
내가 getCatalogItems에게 서비스 메소드를 호출 한 후Items catalogItems = externalClient.getCatalogItems(auth, idCatalog, 1, 100);
,이 방식으로 원시 SOAP 메시지에 대한 항목의 반환 된 배열을 변환한다 :
Message response = Message.CreateMessage(MessageVersion.Default, ReplyAction_GetCatalogItems, catalogItems);
getCatalogItems 서비스 방법의 마지막 2 개 파라미터는 각각의 호출에 데이터 취득의 덩어리의 크기를 나타낸다. 예를 들어 1050 개의 레코드가있는 경우 100 개의 청크로 10 번, 50 번 청크로 1 번 가져와야합니다.
데이터를 사용할 수있을 때까지 읽어야합니다. 질문이 두 개 있습니다.
어디서 계속 읽어야하는지 어떻게 알 수 있습니까? 예를 들어 100 레코드 중 첫 번째 부분을 읽은 경우 독자의 현재 위치는 어디에서 알 수 있습니까?
언제 끝까지 도달했는지 어떻게 알 수 있습니까?
불행히도 원래 서비스 방법을 변경할 수 없습니다. – tesicg
총 항목 수를 알면 클라이언트의 위치를 지정할 수 있습니다. 클라이언트가 현재 가지고있는 페이지 번호를 기준으로 시작 행과 끝 행을 결정해야합니다. – Ngm
다른 방법으로 그 방법을 알아 냈습니다. 어쨌든 고맙습니다. – tesicg