Тот случай, когда первый ответ содержит бессмыслицу, не связанную с вопросом.
Каждый раз, когда вы делаете чек:
if (HttpContext.Current.Response.Cookies["CookieName"] != null)
эта строка кода не только проверяет, существует ли cookie, но также создает новый пустой cookie. Даже Get
метод создает [ 1 ] новый cookie неявно.
Вы можете использовать код следующим образом:
Cookie existing_cookie = null;
foreach (Cookie c in HttpContext.Current.Response.Cookies)
{
if ("CookieName" == c.Name)
{
existing_cookie = c;
break;
}
}
if (null != existing_cookie)
{
// exists
}
Или используйте LINQ
методы, чтобы сделать почти то же самое.