Я работаю над приложением ASP.NET, и мне трудно понять, почему cookie-файл имеет нулевое значение.
На одной странице (results.aspx) я создаю cookie, добавляя записи каждый раз, когда пользователь нажимает флажок. Когда пользователь нажимает кнопку, он попадает на другую страницу (graph.aspx), где читается содержимое этого файла cookie.
Проблема в том, что cookie не существует в graph.aspx. Следующий код возвращает ноль:
Request.Cookies["MyCookie"];
Странно то, что это проблема только нашего промежуточного сервера. Это приложение развернуто на рабочем сервере, и это нормально. Он также отлично работает локально.
Я поместил код отладки на обе страницы:
StringBuilder sb = new StringBuilder();
foreach (string cookie in Request.Cookies.AllKeys)
{
sb.Append(cookie.ToString() + "<br />");
}
this.divDebugOutput.InnerHtml = sb.ToString();
На results.aspx (там, где нет проблем) я вижу файлы cookie:
MyCookie
__utma
__utmb
__utmz
_csoot
_csuid ASP.NET_SessionId
__utmc
На graph.aspx вы можете увидеть, что MyCookie не существует
__ UTMA
__utmb
__utmz
_csoot
_csuid ASP.NET_SessionId
__utmc
С учетом вышесказанного, если я посмотрю на свой FireCookie, я пойму, что тот же cookie действительно существует на ОБАХ страницах! WTF?!?!?!?! (хорошо, разглагольствовать :-))
Кто-нибудь видел что-то подобное раньше? Почему ASP.NET утверждает, что на одной странице файл cookie имеет значение null, а на другой - нет?