Dmi*_*ets 12 asp.net-mvc wcf web-services
我正在开发一个包含WCF服务及其ASP.NET MVC客户端的应用程序.ASP.NET MVC网站必须显示一个对象网格 - 比如产品.这些产品存储在可通过WCF服务访问的数据库中.所以在MVC控制器内的某处我调用WCF服务的方法,它返回一个我需要显示的产品数组.
那么我的问题是什么?我想为我的产品网格实现一个寻呼机功能,因为可能会有很多产品.所以有几种方法可以做到这一点:
据我了解(并纠正我,如果不是这样),第一个选项是无用的,所以我必须在其他选项之间做出选择.
第二个选项浪费了我服务器的内存.
第三个选项是OK,但在WCF端实现分页似乎有点难看.
而第四个选项听起来令人困惑.我实际上将一些查询传递给客户端,然后他通过WCF服务自己查询我的数据库.我无法弄清楚如何正确实现这一点.
那么请你帮我选择正确的方法来实现这个目的吗?
mar*_*c_s 15
你的后端数据库层是什么样的?如果您正在使用LINQ(-to-SQL或-to-Entities),您可以通过指定所需的页面大小和页码来实现WCF分页,然后使用LINQ的"Skip"和"Take"运算符来获取请求的页面 - 大致类似于:
[ServiceContract]
public interface IFetchData
{
[OperationContract]
public List<Data> GetData(int pageSize, int pageNumber)
}
Run Code Online (Sandbox Code Playgroud)
然后实现类似这样的(简化):
public class FetchDataService : IFetchData
{
public List<Data> GetData(int pageSize, int pageNumber)
{
var query = yourContext.DataTable
.Skip((pageNumber - 1) * pageSize)
.Take(pageSize);
return query.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
这对你有帮助吗?
渣
| 归档时间: |
|
| 查看次数: |
6109 次 |
| 最近记录: |