【问题标题】:Serialize, deserialize object from cookie in MVC application C#从MVC应用程序C#中的cookie序列化、反序列化对象
【发布时间】:2026-02-01 07:30:01
【问题描述】:

我需要在 cookie 中存储一个对象列表。我知道我必须序列化才能将我的列表存储在 cookie 中。

我尝试使用 JsonConvert 来序列化和反序列化对象。

这行代码没问题。

Response.Cookies.Add(new HttpCookie("ShoppingCart", JsonConvert.SerializeObject(list)));

但是当我尝试获取 cookie 值时

var shoppingList = HttpContext.Request.Cookies.Get("ShoppingCart");

我得到以下异常:

An exception of type 'System.Web.HttpRequestValidationException' occurred in System.Web.dll but was not handled in user code

你能告诉我我在这里做错了什么吗?谢谢! 附加信息:从客户端检测到有潜在危险的 Request.Cookies 值(

【问题讨论】:

    标签: c# asp.net-mvc cookies serialization


    【解决方案1】:

    多个版本的 MVC 中的默认设置在 POST/GET/COOKIE 中使用 HTML 或 XML 代码阻止请求。

    通常人们建议更改验证设置,但由于这只是关于 cookie 的内容,您最好对信息进行编码:See this duplicate question

    【讨论】: