我的控制器的方法使用相同的查询结果来返回各种结果(Jsonresult,actionresult) 有没有办法将结果缓存在内存中,以便所有控制器方法只有一次数据库访问,因此方法不是执行查询而是使用缓存中的结果
我要缓存的变量是var x =来自db.BIOBillPh()中的cus
public ActionResult BillPhp(string CodePays)
{
var x = from cus in db.BIOBillPh( )
select cus;
return PartialView(x);
}
public JsonResult PaysBU(string Pays)
{
var x = from cus in db.BIOBillPh()
select cus;
return Json(x, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:1)
控制器实例是在每次调用时创建的,所以不是真的。您可以在控制器中创建一个静态临时对象,该对象在刷新db调用之前会有一些生命周期。这是一个以高频率呼叫的动作吗?如果有任何减少的开销可能不值得花时间,那么边际效应可能不大。