假设有200个姓氏以p开头的员工记录,则以下breeze查询返回200条记录。这将占用大量带宽。我可以修改以下代码,只获取10条记录,从而节省带宽。但恶意用户可以在他的浏览器中运行以下查询来限制带宽。我正在寻找服务器端解决方案来限制前十条记录的记录。
var query = new breeze.EntityQuery()
.from("Employees")
.orderBy("LastName")
.where("LastName", "startsWith", "P");
我在.NET代码中使用了BreezeController,如下所示。
[BreezeController]
public class BreezeController : ApiController
{
readonly EFContextProvider<EmployeeDBContext> _contextProvider = ...
[HttpGet]
public IQueryable<Employee>Employee()
{
return _contextProvider.Context.Sessions;
}
}
答案 0 :(得分:2)
您可以通过使用PageSize
属性限制服务器端的最大记录来实现此目的:
[HttpGet]
[BreezeQueryable(PageSize=10)]
public IQueryable<Employee>Employee()
{
return _contextProvider.Context.Sessions;
}