Формат файла даты истекает из-за файла cookie HTTP - переводится как 01-01-2001 в браузере Safari
В нашем веб-приложении мы создаем постоянный файл cookie(только HTTP, защищенный с датой истечения срока действия как DateTime.MaxValue) и отправляем обратно в браузер в заголовках ответа. но формат даты истечения срока действия является неправильным (нижний регистр), когда он достигает браузера, поскольку формат неправильный, браузер Safari сбрасывает дату истечения срока действия до 01/01/2001. таким образом, файл cookie становится файлом cookie сеанса и очищается при закрытии браузера.
Ожидаемый Cookie в заголовках ответа: Set-Cookie:MACHINE_NONCE_lekfzAIUswAxcrsGCFobrA=ttl+5kYEWAG9h7AK5edaIg==; истекает =пт, 31 декабря 9999 21:05:32 по Гринвичу; Фактически: MACHINE_NONCE_lekfzAIUswAxcrsGCFobrA = ttl + 5kYEWAG9h7AK5edaIg ==; истекает =пятница, 31 декабря 2009 года 21:05:32 по Гринвичу;
Код создания файла cookie на веб-сервере:
HttpCookie lobjCookie = new HttpCookie(astrCookieKey)
{
Expires = adtCookieExpiry,
Value = astrCookieValue,
HttpOnly = true,
};
if (aobjResponse.Cookies.Get(astrCookieKey) != null)
{
aobjResponse.Cookies.Remove(astrCookieKey);
}
aobjResponse.Cookies.Add(lobjCookie);
Спасибо,
Сива