Cookies ASP.NET核心MVC(.NET Framework)写入、读取和更新cookie

Cookies ASP.NET核心MVC(.NET Framework)写入、读取和更新cookie,cookies,asp.net-core,Cookies,Asp.net Core,我正在我的一个ASP.NET核心MVC(.NET Framework)应用程序中使用cookie。 我试图在客户端浏览器会话处于活动状态时保留对象值。 我想读取、写入和更新该值 为了序列化和反序列化我的对象,我使用System.Web.Script.Serialization命名空间中的JavascriptSerializer类,为了处理cookie,我使用Microsoft.ASPNetCore.Http命名空间中的HttpResponse和HttpRequest类 我可以读取cookie,然

我正在我的一个ASP.NET核心MVC(.NET Framework)应用程序中使用cookie。 我试图在客户端浏览器会话处于活动状态时保留对象值。 我想读取、写入和更新该值

为了序列化和反序列化我的对象,我使用System.Web.Script.Serialization命名空间中的JavascriptSerializer类,为了处理cookie,我使用Microsoft.ASPNetCore.Http命名空间中的HttpResponse和HttpRequest类


我可以读取cookie,然后将其反序列化到我的对象,或者序列化我的对象,然后将其写入cookie。但是由于响应,我无法更新cookie。Cookies对象不允许我更新现有cookie。然后我删除了cookie,并将其附加到Response.Cookies对象中,这很有效,但是。在MVC6应用程序中是否有其他方法可以更新cookie而不必删除它?。这不是“cookie更新”

无法更新Cookies。因此,它们也不能被删除。这不是MVC的问题,这是关于cookie的事实,例如:服务器可以对cookie执行的唯一操作是设置cookie。也许把cookie看作是由浏览器而不是服务器拥有是有帮助的

  • 要更新cookie,请使用新值覆盖它
  • 要删除cookie,请将过期时间设置为昨天
在浏览器中,您可以看到为cookie重新附加新值具有您想要的效果:浏览器获取新值。e、 g

服务器端:

HttpContext.Response.Cookies.Append("key", "value set at " + DateTime.Now.TimeOfDay);
和客户端:

document.writeln(document.cookie);
console.log("document.cookie", document.cookie);

试试这个:CookieManager包装器()


它帮助您读取/写入/更新asp.net核心中的http cookie。它有流畅的API以便于使用

您现在在HttpContext.Response.Cookies上也有一个delete方法,这使得删除Cookies变得更容易