ASP.NET webforms在回发中维护List <string> </string>

时间:2012-04-03 22:49:47

标签: asp.net list viewstate session-variables

你好我有一个小的List<string>,我希望只在一页上回发。列表不会包含超过10个项目,每个项目最多40个字符(无敏感数据)。

我知道已经提出了类似的问题,但我在将其存储在ViewStateSession之间存在一些矛盾。我听说即使是很小的字符串值也会导致ViewState值的大小增加很多。我想遍历List并使用Linq来查询它,但是我最好使用string[]数组,并且这个List(简单的大小)可以存储在ViewState或者我应该将它存储在Session吗?谢谢。

2 个答案:

答案 0 :(得分:2)

我会更关注这个List<>的范围。如果它仅限于这一页,那么我认为使用ViewState是完全可以接受的;这正是它的意思。

但是,如果您需要在多个页面中保留此内容,那么评估SessionCache会更有意义。

如果每个用户的列表不同,或者它可以在多个用户之间共享,我也会记住。在那种情况下,我倾向于Cache

最后,我可能会在这个问题上被遗忘,但你也可以看一下使用SessionPageStatePersister 类将ViewState存储在服务器端内存中的选项。 / p> 祝你好运!

答案 1 :(得分:1)

如果你不滥用它,在ViewState中存储东西并不是一个糟糕的主意。如果列表很小并且只在一个页面上有意义,那就去吧。

只要记住ViewState可以被篡改,所以如果你不想让客户知道它,那么你就是金色的。否则将其存储在Session中。