Я искал решение этой проблемы, но у меня его не было. Кстати, я не могу понять причину моей проблемы.
Проблема:
Мое веб-приложение имеет страницу входа и получает идентификатор зарегистрированного пользователя из файла cookie. Он работал раньше, но 5-6 дней назад из-за чего-то изменился, он не работал с IE. Теперь он не работает ни с одним браузером.
Я вижу печенье в Chrome. При просмотре с помощью Internet Explorer Developer Tool иногда файл cookie записывается, но все еще не может быть прочитан IE
Мое веб-приложение работает на Windows Server 2008 R2 BTW
Установить мой web.config:
<httpCookies domain=".domainname.com" httpOnlyCookies="false" requireSSL="false" />
Вот мой код SetCookie
<!-- language: c# -->
string uId = "userID";
DateTime expireDate = DateTime.Now.AddDays(3);
HttpContext.Current.Response.Cookies["cookieName"]["uID"] = uId;
HttpCookie aCookie = new HttpCookie("cookieName");
aCookie.Values["uID"] = uId;
aCookie.Path = "/";
aCookie.Expires = expireDate;
aCookie.HttpOnly = false;
aCookie.Domain = "domainname.com";
aCookie.Name = "cookieName";
HttpContext.Current.Response.Cookies.Add(aCookie);
А этот код GetCookie
<!-- language: c# -->
if (HttpContext.Current.Request.Cookies["cookieName"] != null)
{
System.Collections.Specialized.NameValueCollection UserInfoCookieCollection;
UserInfoCookieCollection = HttpContext.Current.Request.Cookies["cookieName"].Values;
userID = HttpContext.Current.Server.HtmlEncode(UserInfoCookieCollection["uID"]);
}
Сценарий:
пытается войти
Сработал метод SetCookie
В конце метода SetCookie есть два куки "cookieName" и
«ASP.NET SessionId»
Сработал метод GetCookie
Существует только "ASP.NET SessionId" и значение сеанса остается тем же
Спасибо за любую помощь.