将List保存到使用List.Clear()之前已创建的会话

时间:2015-01-13 08:54:02

标签: c# list session

我有类似的代码

List<string> list = new List<string>();

for (int i = 0; i < 1000; i++)
{
    list.Add(Guid.NewGuid().ToString());
}
foreach (var item in list)
{
    lit.Text += string.Format("<p>{0}</p>", item);
}
Session["VarList"] = list;
ViewState["VarList"] = list;
list.Clear();

这可能听起来像是How to preserve lists already created before using List.Clear()的副本,但我需要以某种方式保存该列表,因为我的列表正在填充各种方法,我正面临outofmemoryexception。我的列表包含一个类对象,该类有一个列表,DataTable和一些属性。我非常感谢任何解决方案,我只需要保留数据和清除列表的功能。

1 个答案:

答案 0 :(得分:0)

用于在会话中存储字典的示例(不是直接答案):

List<MyObject> Mylist;
MyList = GetObjects(TheDate);
Dictionary<DateTime> myDictionary = new Dictionary<DateTime>();
myDictionary[TheDate] = MyList;
Session["DateCollections"] = myDictionary;

Sample for retrieving from session (should have null check to be sure it's there):

Dictionary<DateTime> myDictionary  = (Dictionary<DateTime>) Session["DateCollections"];

我希望你能继续这个或者至少得到一些灵感:)