У меня есть страница, где пользователь входит в серверное приложение через веб-сервис. Веб-служба возвращает идентификатор сеанса, который я хочу сохранить в файле cookie в течение 40 минут, поскольку через 40 минут внутреннее приложение автоматически закрывает сеанс.
Мой код для записи куки:
private void SetCookie()
{
Response.Cookies.Add(new HttpCookie("Cookie_SessionID"));
Response.Cookies["Cookie_SessionID"].Value = ni.NicheSessionID;
Response.Cookies["Cookie_SessionID"].Expires = DateTime.Now.AddMinutes(40);
//.... after a few more things
Response.Redirect(returnUrl);
}
Тогда на странице получения у меня это:
private HttpCookie GetCookie()
{
HttpCookie cookie = Request.Cookies["Cookie_SessionID"];
if (cookie != null && cookie.Value != null)
{
return cookie;
}
return null;
}
По какой-то причине файл cookie, возвращаемый GetCookie()
, всегда имеет значение Expires
0001-01-01 00:00:00
, хотя при просмотре файлов cookie в браузере у него правильное время истечения.
Прочитав это , в котором говорится, что файлы cookie с истекшим сроком действия просто не отправляются на сервер, я предполагаю, что может случиться, что файл cookie записывается правильно, но браузер не отправка даты истечения срока действия, потому что она на самом деле не нужна? ...
Моя проблема в том, что я хочу зафиксировать именно это - срок действия куки-файла «истек», и поэтому они должны снова войти в систему - но мне нужно отобразить сообщение в виде «Я знаю, что вы уже вошли в систему, но вы Нужно будет сделать это снова "типа вещь.
Спасибо