数据源最佳实践问题

时间:2011-03-02 19:38:54

标签: asp.net datasource sqldatasource

这可能不是一个困难的项目,但我不确定处理它的最佳方法。

我有一个ASP.Net页面需要查询数据库中的一些信息(大约12个电子邮件地址的列表),这些信息在整个单页面应用程序中使用(基本上是一组8个按钮,每个按钮放置一个进入另一个数据库表,其中包括一条消息[每个按钮不同]和电子邮件地址[来自第一个数据库]应该发送消息。)

地址列表很少更改。我的应用程序应该在什么时候向DB查询地址?按下按钮似乎是浪费,因为我将一遍又一遍地进行相同的查询并获得相同的结果。我正在考虑打开我的数据源并使用SqlDataReader并将电子邮件地址列表存储到字符串数组中,但最好的位置在哪里,以便数据保持不变,但不会重复查询(因为您可能会告诉我们)我在ASP方面并不擅长,而且我仍然对变量的生命周期 - 应用程序,会话或页面正在处理时的模糊性感到模糊。)

感谢任何帮助。

由于

亚当

4 个答案:

答案 0 :(得分:0)

在您的数据层中,将查询结果放入cache

在该方法中,首先检查缓存条目是否存在,如果不存在,则调用数据库并使用结果填充缓存。如果是,则返回缓存的值。

答案 1 :(得分:0)

您需要考虑使用Cache

答案 2 :(得分:0)

使用Cache。在this page

中查找GetProductData()方法实现

答案 3 :(得分:0)

缓存最有可能是您需要的: http://msdn.microsoft.com/en-us/library/6hbbsfk6.aspx

简短版本是您可以在其中粘贴对象并设置过期条件。例如,它在一段固定的时间后过期,经过一段时间后没有被访问,高速缓存中的另一个值发生变化,或者数据库中的基础数据发生变化。

我通常将我的缓存包装在属性/方法中,这些属性/方法将尝试从缓存中获取值(如果存在),然后返回数据库(如果不存在)(之前从未读过或已过期)。