【问题标题】:how to cache a query result in asp.net mvc application如何在asp.net mvc应用程序中缓存查询结果
【发布时间】:2014-06-11 14:23:10
【问题描述】:

我的控制器的方法使用相同的查询结果返回各种结果(Jsonresult,actionresult) 有没有办法将结果缓存在内存中,以便所有控制器方法只访问一次数据库,因此方法不执行查询,而是使用缓存中的结果

我要缓存的变量是 var x = from cus in db.BIOBillPh()

    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);
    }

【问题讨论】:

  • 您可以使用任意数量的缓存策略。到目前为止,您已经尝试过什么?
  • 我使用了输出缓存,但问题是我希望这些方法共享相同的数据结果,以便查询只执行一次
  • 关于缓存策略的生命周期,您还有一些阅读要做。输出缓存仅限于请求/响应流。

标签: c# asp.net asp.net-mvc caching


【解决方案1】:

控制器实例是在每次调用时创建的,所以不是真的。您可以在控制器中创建一个静态临时对象,该对象在刷新 db 调用之前会有一定的生命周期。这是一个被高频调用的动作吗?微不足道的开销(如果有的话)可能不值得您花时间。

【讨论】:

  • 可以创建一个带有定时器的静态对象来刷新数据??如果是的话,我该怎么做??
猜你喜欢
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
  • 2011-06-05
  • 2011-02-08
  • 1970-01-01
  • 2010-09-25
相关资源
最近更新 更多