C# 如何在asp.net mvc应用程序中缓存查询结果

C# 如何在asp.net mvc应用程序中缓存查询结果,c#,asp.net,asp.net-mvc,caching,C#,Asp.net,Asp.net Mvc,Caching,我的控制器的方法使用相同的查询结果返回不同的结果(Jsonresult、actionresult) 有没有一种方法可以将结果缓存在内存中,这样所有控制器方法只需一次访问数据库,而不是执行查询,方法使用缓存中的结果 我要缓存的变量是var x=from cus in db.BIOBillPh() 控制器实例是在每次调用时创建的,因此实际上并非如此。您可以在控制器中创建一个静态临时对象,该对象在刷新db调用之前会有一些生命周期。这是一个高频率的动作吗?如果开销有任何减少,那么边际成本可能不值得您花费

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

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


控制器实例是在每次调用时创建的,因此实际上并非如此。您可以在控制器中创建一个静态临时对象,该对象在刷新db调用之前会有一些生命周期。这是一个高频率的动作吗?如果开销有任何减少,那么边际成本可能不值得您花费时间。

您可以使用任意数量的缓存策略。到目前为止,您已经尝试了什么?我使用了outputcaching,但问题是我希望这些方法共享相同的数据结果,以便仅在缓存策略的生命周期中有更多的读取任务时执行查询。输出缓存仅限于请求/响应流。可以使用计时器创建静态对象来刷新数据??如果是,我该怎么做??
    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);
    }