我想将我的通用列表存储到cookie中,因为当我更改代码并重建时会话会一次又一次地到期。我希望将我的列表存储在cookie中,以便在重建时cookie不会过期。
如何将我的通用列表存储到Cookies中。?
我试过了:
List<EvaluationModel> evalModel = (List<EvaluationModel>)Session["ESearch"];
HttpCookie cookie = new HttpCookie("evalModel");
cookie.Value = evalModel;
cookie.Expires = DateTime.Now.AddHours(24);
Response.SetCookie(cookie);
但它说cannot implicitly convert type generic.list to string.
由于
答案 0 :(得分:1)
Cookie只是字符串数据;唯一的方法是将它序列化为一个字符串(xml,json,任意二进制的base-64,无论如何),并在需要时再将其反序列化。
同样序列化通用列表意味着它将创建一个大字符串,它将在客户端/服务器之间来回运行。因此,您的请求/响应会很重,因此很慢。
IMO,在服务器上缓存这个是正确的;不要把它放在饼干里。