【发布时间】:2011-04-03 15:55:53
【问题描述】:
如何避免在 ASP.NET MVC2 中每次加载页面时重复加载静态数据?这很浪费,我想解决它。
我的主页在右上角显示典型的用户名 + 公司名。但是由于 MVC 的无状态特性,每次加载页面时都必须查找这些数据,即使它永远不会改变。
在旧的 webforms 日子里,我只会把它扔到 Session 中,但在 MVC 中似乎不鼓励这样做。再加上网络应用程序在网络农场上运行,所以我真的不想使用会话。
Web 应用程序已经有相当多的静态数据项在每次页面加载时都会被查询(用户货币、用户税率等),所以我认为可以通过在登录时只加载一次来提高性能。我只是不确定正确的 MVC 方法是什么(我对 MVC 还是很陌生)。
【问题讨论】:
-
看看在 .NET 中使用 ProfileProvider。在这些情况下工作得很好,创建您自己的配置文件提供程序来实现您现有的表/列并从那里开始。
-
每次加载配置文件对象时,配置文件都会调用数据库吗?如果是这样,它不会改变任何东西。
-
在 MVC 中使用(相对于 mis-使用)
Session没有任何问题。它是特定于浏览器实例的缓存。当你需要它时,使用它。只是不要在那里放任何与安全相关的东西,也不要认为它与登录有关。
标签: c# asp.net-mvc performance session caching