Сеанс ASP.NET исчезнет / появится снова - PullRequest
3 голосов
/ 06 января 2011

Я просматривал сеть, пытаясь найти какое-то другое тело, у которого была эта проблема до меня, но никто не описывает точную ситуацию, в которой я нахожусь. У других есть пропущенные состояния сеанса, которые отсутствуют, или у них естькороткие сеансы состоят из 5 минут или что-то в этом роде.Моя проблема, однако, заключается в том, что мои переменные состояния сеанса, похоже, присутствуют для одной обратной передачи, пропускают следующую, а иногда и для третьей.

Вы можете войти на мой сайт: EpicClanWars.com и затем, возможно, обновите несколько страниц, затем после 2-й или 3-й другой страницы вы получите текстовые поля для входа в верхнем правом углу, как будто вы не вошли в систему. Но если вы снова обновите страницу,сайт покажет, что вы вошли снова.

Я предполагаю, что это как-то связано с состоянием представления, но я не знаю много о состоянии представления ASP.NET или о том, как его устранить.Чтобы поддержать это, я получил пару сообщений об ошибках (которые я, к сожалению, забыл сохранить для этого поста), которые касались проблем MAC и состояния просмотра.

Недавно мне пришлось переустанавливать ОС на компьютере.работает мой сайт.Когда я это сделал, я переустановил Visual Studio, IIS, SQL Server, все.До переустановки у меня не было этой проблемы.Я использую VS.NET 2005 и IIS 7.

Что здесь происходит?

1 Ответ

2 голосов
/ 06 января 2011

Вы можете войти на мой сайт: EpicClanWars.com, а затем, возможно, обновить несколько страниц, затем после второй или третьей страницы вы увидите текстовые поля для входа в верхнем правом углу, как будто вы не вошли в систему.Но если вы снова обновите страницу, сайт снова покажет, что вы вошли в систему.

Это проблема с кэшем. С того момента, как у вас есть динамические страницы и вы сохраняете логин на каждой странице, вам необходимо полностью не сохранять кэшированную страницу на клиенте.Таким образом, ваш клиент только что прочитал кэшированную страницу, после обновления он получил новую.

На вашей странице вы также сообщаете о проблеме dns с www. , проверьте ее исделай так, чтоб это работало.Вам нужно перенаправить www.epicclanwars.com на epicclanwars.com, если вы выиграли, чтобы сохранить только одну копию.На этот раз www.epicclanwars.com просто не работает вообще.

«В процессе», то есть хранение их в памяти не столь точно в общей среде и может привести к потере сеансов, если ваш компьютер работает в его пределах или если по какой-либо причине у вас есть много перезагрузок пула.Возможно, если вы не решите проблему с кешем на страницах, подумайте также о переносе сессий в базу данных.

Также проверьте на web.config сессий, httpCookies , формы , roleManager , должны иметь domain = "epicclanwars.com"

...