Используя Asp.Net MVC 1, у меня есть элемент управления / страница "войти в систему" ... Я отмечаю флажок "запомнить меня" и нажимаю "отправить" ... в моем контроллере у меня есть:
FormsAuth.SignIn(userName, password, rememberMe)
Этот метод создает постоянный файл cookie .ASPXAUTH, и в этот момент все хорошо. Я установил точку останова на другом контроллере и заметил, что как только я вошел на сайт ... для следующего "постбэка" или обновления страницы.... файл cookie .ASPXAUTH исчез из коллекции файлов cookie ... так что ... когда я возвращаюсь на сайт, даже когда я выбрал опцию "запомнить меня" ... он снова запрашивает мои учетные данные в форме входа в систему ...
есть идеи, почему это происходит?
ОБНОВЛЕНО:
Я думаю, что это не проблема с MVC.Я создал новое приложение с WebForms, страница содержит 1 текстовое поле, 1 кнопку для создания файла cookie ... и другую кнопку для записи файла cookie в метку. http://screencast.com/t/MjQ1MTVmYWU
это мой код:
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("test");
cookie.Value = TextBox1.Text;
cookie.Expires = DateTime.Now.AddMinutes(1);
Response.Cookies.Add(cookie);
}//with a breakpoint here, I "watch" the Response.Cookies collection and I can see my "test" item there.
protected void Button2_Click(object sender, EventArgs e)
{//with a breakpoint here. the Response.Cookies collection is empty.
Label1.Text = Response.Cookies["test"].Value ?? "null";
}
У меня тот же результат ... cookie правильно добавлен в коллекцию Response.Cookies, но во втором постбэке коллекция снова пуста ..
результат ..метка получает значение «ноль».
может быть, какая-то конфигурация?Я никогда раньше не работал с куки.