目前我将DataSet存储在ViewState中,但这可能会对页面的性能产生影响。
您能否建议我是否可以使用Session或ViewState或任何不影响性能的替代方案?
答案 0 :(得分:3)
为什么需要存储整个数据集? 如果必须,请在会话中进行。如果您的会话是“inproc”,则数据集对象将存储在内存中(因为没有序列化,所以可以节省一些性能)。
如果我是你,我会分析代码并尝试不将整个数据集存储在任何会话中,而不是视图状态 - 必须有一种优化代码的方法。
希望它有所帮助。
答案 1 :(得分:2)
如果要存储整个dataSet,总会有Caching方法,它允许您存储具有良好性能的巨大变量。这是一个如何将变量存储到Cache中的示例。
Cache["CacheItem1"] = "Cached Item 1";
这是如何在以下之后检索变量:
string cachedString;
cachedString = (string)Cache["CacheItem"];
答案 2 :(得分:1)
在viewstate或session中存储数据集是不明智的,但在这两者中,将其存储在会话中肯定比viewstate更好。从那时起,在服务器上处理序列化/反序列化。而不是将序列化数据也发送到客户端。
答案 3 :(得分:1)
因为我认为在会话中存储可能对你有帮助,但你需要考虑以下几点
我建议您查看您的要求,如果可能,您可以存储在缓存中,但它是应用程序级别。作为会话每个用户都有自己的会话。
您可以查看以下链接