如何最好地检查cookie是否存在?

时间:2013-08-30 09:37:09

标签: c# asp.net cookies

我试图确定是否存在Cookie以及该代码是否已过期:

if(HttpContext.Current.Response.Cookies["CookieName"]){
    Do stuff;
}

然而,经过长时间的流泪和汗水后,我注意到这一行实际上是在创建一个空白cookie或覆盖现有的cookie,其值为空白,并在0时过期。

我通过阅读所有cookie并寻找类似的匹配来解决这个问题

if (context.Response.Cookies.AllKeys.Contains("CookieName"))
        {
            Do stuff;
        }

这似乎不是最佳的,我发现我的初始尝试创建了一个cookie很奇怪。 有没有人对cookie有一个很好的解释?

1 个答案:

答案 0 :(得分:16)

您正在使用Response.Cookies。那是错的 - 它们是发送回浏览器的cookie。

要阅读现有Cookie,您需要查看Request.Cookies

if (context.Request.Cookies["CookieName"] != null)
{
   //Do stuff;
}