0

我有一个包含多个页面的 Web 应用程序。每个页面都调用一个类方法从数据库中获取数据。其中一些调用是多余的,这意味着我们多次向数据库发起查询以获取相同的数据。我想查询数据库一次并将结果存储在一些全局变量中,而不是会话中,以便页面可以访问这些变量。我已经尝试过单例模式设计,但它在创建对象时不接受参数。请帮忙

4

2 回答 2

3

使用Application.Cache存储结果,然后在多个页面中访问它。但请记住,此信息将由您网站的所有用户共享。

DataTable dataTable = GetDataFromDatabase();
HttpContext.Current.Cache["CahcedTable"] = dataTable;

要访问它:

DataTable dataTable = HttpContext.Current.Cache["CachedTable"] as DataTable;
if(dataTable != null)
{
     //your code e.g. gridView1.DataSource = dataTable;
}
于 2013-10-21T20:00:06.800 回答
0

使用静态类,它(连同它的所有静态属性/字段)在每个应用程序域中仅存在一次(因此,除非您执行一些非常具体的 thibgs,否则每个网站一次)

于 2013-10-21T20:02:30.313 回答