代码之家  ›  专栏  ›  技术社区  ›  JK.

ASP.NETMVC2-避免重复查询数据库中的静态数据?

  •  1
  • JK.  · 技术社区  · 14 年前

    我的母版页在右上角显示了典型的用户名+公司名称。但是由于MVC的无状态特性,每次加载页面时都必须查找这些数据,即使页面从未更改。

    web应用程序已经有很多静态数据项在每次页面加载时都会被查询(用户货币、用户税率等),所以我认为在登录时只加载一次就可以提高性能。我只是不确定什么是正确的MVC方法(我对MVC还是很陌生)。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Community CDub    7 年前

    我总是使用内置的ASP.NET缓存这个,设置适当的到期日,你就可以走了。

    public void Blah()
    {
        var company = HttpRuntime.Cache.Get("Company") as string;
        if (company == null)
        {
            company = FetchCompanyFromDb();
            HttpRuntime.Cache["Company"] = company;
        }
    
        return this.View(company);
    }
    

    另请参见上一个问题:

    Caching in asp.net-mvc

        2
  •  0
  •   Jamie    14 年前

    您是否可以将您的用户货币/用户名/税等封装到用户控件中,然后在该控件上使用输出缓存?