私はSqlServerモードでセッションを保存するためのリストを持っています。ListまたはIEnumerableをシリアライズ可能にするにはどうすればいいですか?
[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例外m System.Linq.Enumerable + WhereSelectEnumerableIterator 2 [System.String、mscorlib、Version = 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b77a5c561934e089]、[System.Web.Mvc.ModelState、System.Web.Mvc 、バージョン= 5.2.3.0、Culture =ニュートラル、PublicKeyToken = 31bf3856ad364e35]]、mscorlib、バージョン= 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b77a5c561934e089]、[myproject.ModelStateSummary、myproject、Version = 1.0.0.0、Culture =ニュートラル、PublicKeyToken = null]] 'System.Core、Version = 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b77a5c561934e089'は直列化可能としてマークされていません。
セッションにリストを保存する際に何か問題がありましたか?
セッションに大きなオブジェクトを配置するように注意してください。 –