在注销时清除具有不同路径的cookie

时间:2014-02-12 16:45:46

标签: c# asp.net .net asp.net-mvc .net-3.5

我的域名是 localhost ,我正在使用“local1”名称存储cookie,最初设置的cookie路径为“/”且存在。 在我转到帐户控制器后,我设置了一个名称相同但路径不同的cookie(“/ accounts”),我为所有控制器做了同样的事情。 所以我得到了5个饼干

现在我的注销操作存在于帐户控制器中,我只能看到2个cookie ...一个带有“/”路径,另一个带有“/ accounts”路径..其他cookie不在上下文中..如何在注销时删除它们?

1 个答案:

答案 0 :(得分:1)

当您设置cookie的Path属性时,此cookie不再发布到应用程序/服务器中的所有页面。您可以在此处找到更多信息:Cookie.Path Property

但是你可以尝试这样的事情:

string[] yourCookieNamesArray = Request.Cookies.AllKeys;

foreach(string cookieName in yourCookieNamesArray)
{
     Response.Cookies[cookieName].Expires = DateTime.Now.AddDays(-1);
}

有关Request.Cookies.AllKeys here

的更多信息

希望这有帮助!