asp.net mvc过滤数据

时间:2010-12-18 09:15:08

标签: asp.net asp.net-mvc-2

我有我使用自动完成jquery插件的页面。这可能会从数据库中过滤掉但我不想向DB提出请求。所以我把它作为List写入会话对象。每次我从这个会话中过滤数据。我做错了什么或者还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

我建议您使用Cache对象而不是Session。请记住,会话与特定用户绑定。因此,如果其他用户访问您的网站,他也会访问该数据库。 Cache对象对所有用户都是通用的。因此,您的控制器操作可能如下所示:

public ActionResult Foo(string q)
{
    var data = HttpContext.Cache[q];
    if (data == null)
    {
        data = FetchFromDb(q);
        HttpContext.Cache[q] = data;
    }
    return Json(data, JsonRequestBehavior.AllowGet);
}