任何机构都可以帮助我
我们如何在WCF中处理这种情况?
答案 0 :(得分:2)
如果它引发了邮件大小过大的异常,您可以查看此问题中列出的一些选项: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);
不是最复杂的分页,但它可以让你有机会开始。