在 ASP.NET MVC 中删除多个操作请求中的 Cookie
Delete Cookie in Multiple Action Request in ASP.NET MVC
我想删除 ASP.NET
中的 cookie
这是我正在使用的代码,它适用于除一种情况以外的所有情况。
public static void DeleteCookie(string name)
{
if (!string.IsNullOrWhiteSpace(name))
{
var cookie = HttpContext.Current.Request.Cookies[name];
if (cookie != null)
{
// Delete the cookie
cookie.Expires = DateTime.Now.AddDays(-1d);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
}
场景是这样的。
当我转到我的项目的详细信息页面时,会创建一个 cookie。当我回到项目列表时。然后我需要删除 cookie,这样某些菜单就不会显示了。但是在同一个请求中,当 View 调用删除 cookie 时,它 returns 保存值。
我已经调试了cookie。过期日期即设置为 -ve 但直到请求未完成,cookie 才会被删除。
求助..
Cookie 已存储 client-side,因此在客户端收到响应 header 指示之前,Cookie 不会真正被删除。然后,在 next 请求中,它将不再发送该 cookie,但您无法删除并检查它是否已在同一请求中被删除,因为它实际上尚未被删除。通常,当您删除一个 cookie 时,您希望 return 重定向,即使它是相同的 URL。这样,客户端将被迫发出新的 cookie-less 请求。
我想删除 ASP.NET
中的 cookie这是我正在使用的代码,它适用于除一种情况以外的所有情况。
public static void DeleteCookie(string name)
{
if (!string.IsNullOrWhiteSpace(name))
{
var cookie = HttpContext.Current.Request.Cookies[name];
if (cookie != null)
{
// Delete the cookie
cookie.Expires = DateTime.Now.AddDays(-1d);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
}
场景是这样的。
当我转到我的项目的详细信息页面时,会创建一个 cookie。当我回到项目列表时。然后我需要删除 cookie,这样某些菜单就不会显示了。但是在同一个请求中,当 View 调用删除 cookie 时,它 returns 保存值。
我已经调试了cookie。过期日期即设置为 -ve 但直到请求未完成,cookie 才会被删除。
求助..
Cookie 已存储 client-side,因此在客户端收到响应 header 指示之前,Cookie 不会真正被删除。然后,在 next 请求中,它将不再发送该 cookie,但您无法删除并检查它是否已在同一请求中被删除,因为它实际上尚未被删除。通常,当您删除一个 cookie 时,您希望 return 重定向,即使它是相同的 URL。这样,客户端将被迫发出新的 cookie-less 请求。