我需要创建WebMethod,它将从db获取一些数据并将其返回给客户端。
现在,假设数据量巨大,所以我想采取和返回部分数据。
有没有办法在Webmethod中使用yield return?
据我所知,无法在WebMethods中返回泛型类型,但我也无法使用非泛型IEnumerable。
我该如何实现?
答案 0 :(得分:2)
不,您无法从WebMethod中获得回报。但是您可以向方法调用添加两个参数以允许分页结果:
public string[] GetResults(string someQuery)
{
var results = new List<string>();
// Fill Results
return results.ToArray();
}
变为:
public string[] GetResults(string someQuery, int pageNum, int pageSize)
{
var results = new List<string>();
// Fill Results
return results.Skip(pageNum * pageSize).Take(pageSize).ToArray();
}