메시지 크기가 너무 큰 경우 예외가 발생하면 Setting Max Message and buffer size for WCF webhttp에 나와있는 옵션 중 일부를 볼 수 있습니다.
서비스가 반환하는 최대 값은 100입니다. 성장하고 성장한다면 메시지 크기를 변경하지 않는 것이 좋습니다. 이 같은 것을보고하는 방법을했다, 그래서 만약 대신에 당신은 아마 페이징 메커니즘의 일종을 고려해야합니다
IEnumerable<Record> GetRecords()
는합니다
Response GetRecords(index)
그리고 응답은 다음과 같이 보일 것이다 :
[DataContract]
public class Response
{
[DataMember]
IEnumerable<Record> Records { get; set; }
[DataMember}
bool IsLast { get; set; }
[DataMember]
int PageIndex { get; set }
}
그러면 클라이언트에서 다음과 같이 호출합니다.
Response resp;
int pageIndex = 0;
do
{
resp = service.GetRecords(pageIndex);
// use resp.Records here - could just build a bigger list with them all in
// and use it after the loop or if your client can handle chunks, just use it
pageIndex = resp.PageIndex + 1;
} while(!resp.IsLast);
가장 정교한 페이징은 아니지만 잘하면 시작할 수있는 곳을 제공합니다.
출처
2011-11-23 08:47:48
kmp
오류가 발생하는 경우 ??? –
클라이언트는 100 개의 레코드를 처리 할 수 없지만 10-20 개의 레코드는 정상적으로 작동합니다. –
모든 코드를 입력하십시오. – VMAtm