代码之家  ›  专栏  ›  技术社区  ›  iLemming

从WebMethod返回分页结果?

  •  0
  • iLemming  · 技术社区  · 16 年前

    我需要创建WebMethod,它将从DB中获取一些数据并将其返回给客户机。

    现在,假设数据量很大,所以我想部分地获取和返回数据。

    在webmethod中有没有使用yield return的方法?

    我知道在WebMethods中没有返回泛型类型的方法,但是我也不能使用非泛型IEnumerable。

    我怎样才能做到?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Justin Niessner    16 年前

    不,不能从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();
    }
    
    推荐文章