我应该在哪里存储数据表[ViewState / Session / Cache]

时间:2010-04-21 10:13:12

标签: asp.net caching

我有一个DataTable,里面有大约10,000行。

我想为aspx页面存储一次的数据。当用户在页面中选择不同的选项时,将从已存储的DataTable中进一步选择数据。

我尝试使用ViewState,但只要数据增长超过100行,性能就会下降。

我应该在哪里存储这些数据?

2 个答案:

答案 0 :(得分:2)

数据是基于每个用户还是全局所有用户?如果它是全局的,请使用Cache。如果它是特定于用户的,传统的答案是使用Session,但这是一个潜在的内存使用问题等待发生。您可能只需要根据需要重新查询数据库。

ViewState具有更具体的用途,它不适用于大量数据,因为所有这些数据都是在网页中的客户端和服务器之间发送的。

答案 1 :(得分:0)

我打赌你不能一起显示所有数据。

为什么不使用分页并仅加载所需的数据集然后继续添加到会话对象,先获取50条记录显示它然后在下一页上单击获取下一组50条记录。

您可以将SP用于此目的http://www.mssqltips.com/sqlservertip/1699/sql-server-stored-procedures-to-page-large-tables-or-queries/