我试图确定是否存在Cookie以及该代码是否已过期:
if(HttpContext.Current.Response.Cookies["CookieName"]){
Do stuff;
}
然而,经过长时间的流泪和汗水后,我注意到这一行实际上是在创建一个空白cookie或覆盖现有的cookie,其值为空白,并在0时过期。
我通过阅读所有cookie并寻找类似的匹配来解决这个问题
if (context.Response.Cookies.AllKeys.Contains("CookieName"))
{
Do stuff;
}
这似乎不是最佳的,我发现我的初始尝试创建了一个cookie很奇怪。 有没有人对cookie有一个很好的解释?
答案 0 :(得分:16)
您正在使用Response.Cookies
。那是错的 - 它们是发送回浏览器的cookie。
要阅读现有Cookie,您需要查看Request.Cookies
:
if (context.Request.Cookies["CookieName"] != null)
{
//Do stuff;
}