【发布时间】:2017-06-25 05:26:25
【问题描述】:
我有一个列表要存储在 SqlServer 模式下的会话中。
[Serializable]
public class ModelStateSummary
{
public string PropertyName { get; set; }
public string[] ErrorMessages { get; set; }
}
设置会话
var list = new List<ModelStateSummary> {...};
Session["ModelStateSummaryModel"] = list;
但是当我试图从会话中检索模型时
var stateSummaries = Session["ModelStateSummaryModel"] as IEnumerable<ModelStateSummary>;
我有一个错误,说,
异常类型:System.Runtime.Serialization.SerializationException 异常消息:类型 'System.Linq.Enumerable+WhereSelectEnumerableIterator
2[[System.Collections.Generic.KeyValuePair2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ],[System.Web.Mvc.ModelState,System.Web.Mvc,版本=5.2.3.0,文化=中性,PublicKeyToken=31bf3856ad364e35]],mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089], [myproject.ModelStateSummary, myproject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' 在程序集 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 未标记为可序列化。
我在将列表保存到 Session 时做错了吗?
【问题讨论】:
-
小心将大对象放入会话中。
标签: c# asp.net-mvc