ASP.NET全局存储数据

时间:2014-04-20 08:55:03

标签: c# asp.net vb.net

存储全局数据表的最佳方法是什么,以便访问我网站的任何人都可以阅读并添加到同一个表中?

我正在考虑使用以下代码:

Shared DT As New DataTable

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    DT.Columns.Add("col1", GetType(String))
    DT.Columns.Add("col1", GetType(String))
End Sub

但每次加载页面时都会添加新列....

运行SQL数据库对于我编码的网站而言会变慢。

2 个答案:

答案 0 :(得分:3)

使用

会话:如果数据用于单个或当前用户

ViewState :您还可以使用ViewStates存储数据

对于所有用户,您也可以使用

应用程序:它在整个应用程序生命周期内存储数据

作为@Mike Brind给出的示例,您可以以相同的方式使用这些会话和应用程序

基本区别在于会话保存当前用户的数据,其中应用程序保存所有用户的数据。

和会话

Session["table"] = dt;

DataTable dt = (DataTable) Sessions["table"];

答案 1 :(得分:1)

如果数据是全局数据,则可以将其存储在Application变量中。

Application["table"] = dt;

你必须把它丢回去检索它:

var dt = (DataTable)Application["table"];