4

Currently I am storing the DataSet in a ViewState but, this may have an impact on the performance of the page.

Can you suggest me whether I can use Session or ViewState or any alternative by which it doesn't impact the performance?

4

4 回答 4

3

为什么需要存储整个数据集?如果必须,请在会话中进行。如果您的会话是“inproc”,则数据集对象将存储在内存中(您可以节省一些性能,因为不会有序列化)。

如果我是你,我会分析代码并尽量不要将整个数据集存储在两个会话中,而不是视图状态 - 必须有一种方法来优化你的代码。

希望能帮助到你。

于 2012-02-22T16:06:39.763 回答
2

如果你想存储整个数据集,总有缓存方法可以让你以良好的性能存储巨大的变量。这是一个如何将变量存储到缓存中的示例。

Cache["CacheItem1"] = "Cached Item 1";

这如何在之后检索变量:

string cachedString;
cachedString = (string)Cache["CacheItem"];
于 2014-02-18T11:55:48.870 回答
1

因为我认为在会话中存储可能会对您有所帮助,但您需要考虑以下几点

  1. 有多少用户在使用您的应用程序?
  2. 数据集的大小是多少?如果更多,则不要将其存储在会话中。

我建议你看看你的要求,如果可能的话,你可以存储在缓存上,但它是应用程序级别的。as Session 每个用户都有自己的会话。

您可以查看以下链接

  1. 会话 V/s 视图状态
于 2012-02-22T16:28:52.057 回答
1

将数据集存储在视图状态或会话中是不明智的,但在两者中,将其存储在会话中肯定比视图状态更好。从那时起,序列化/反序列化在服务器上处理。而不是将序列化数据也发送给客户端。

于 2012-02-22T16:02:01.867 回答