减少ASP.NET中的冗余查询

时间:2012-07-27 10:36:08

标签: asp.net sql vb.net

我有一个包含大量单个页面的ASP.NET(vb.net而不是c#)网站。为了减少重复的代码,我将网站的主模板作为母版页。

有一个特定的变量(我们称之为Sale),它在每个页面和母版页中使用。

目前,我在每个页面和主页面中都有一个简单的SQL查询,每次加载页面时都会运行,以检查Sale的值(1或0),具体取决于在该值上显示不同的代码部分。

我的问题是(对我来说)这似乎是很多冗余/重复的SQL调用。

我可以将Sale的值写入会话变量,但由于一大堆原因,这不太实用,那么还有哪些其他选项对我开放?

2 个答案:

答案 0 :(得分:2)

asp.net提供了一个非常好的缓存机制。这将允许您缓存所需的任何对象。

这个话题相当广泛,所以我只给你一些指示:

Caching Application Data

Adding items to cache

由于您希望优化查询,请查看SqlCacheDependency

答案 1 :(得分:0)

如果您的数据对于每个实例都相同,

在站点中维护公共静态对象,并将数据保存在该静态变量中 在Application_Start事件的global.asax事件中,该静态对象也可以在每个页面和母版页上访问,

但要注意使用静态对象的缺点,有关Go here

的更多信息