Сессии в моем веб-приложении смешиваются - PullRequest
1 голос
/ 09 июня 2011

У меня есть веб-приложение, и это сценарий

Пользователь входит в систему. Данные загружаются из базы данных, добавленной в объект (например,

)
class UserData
{
 public string Name { get; set; }
}

и экземпляр этого объекта добавляется в сеанс, когда пользователь с другого компьютера входит в систему, тогда его сеанс также применяется к первому сеансу пользователя. Я знаю это, потому что в заголовке приложения отображается имя.

Сервер IIS7, ASP.NET 2.0 C #

Я до сих пор не могу поверить, как это возможно, но не могу найти решение по той причине, о которой я спрашиваю.

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Вероятно, потребуется дополнительная информация. Проверьте, не храните ли вы эти пользовательские данные в статическом объекте. Этот объект может быть разделен между сеансами.

Вы видите имя первого или второго / последнего человека (в порядке входа в систему) на экране? Это также может быть случай кэширования вывода. Вы знаете, как отследить или отладить ваше веб-приложение? Можете ли вы проверить правильность данных, сохраненных в сеансе?

0 голосов
/ 09 июня 2011

ЕДИНСТВЕННЫЙ способ, которым это может произойти, это если вы кэшируете данные на стороне сервера, кэшируете на уровне прокси (неправильно), или ваша логика отображения этой информации не определяет пользователя должным образом. Это просто чтение из базы данных? Включите трассировку на странице вверху добавить Trace = "true"
http://msdn.microsoft.com/en-us/library/94c55d08.aspx

и убедитесь, что идентификатор сеанса aspnet действительно уникален для обоих сеансов. Они не будут объединяться, поэтому здесь происходит что-то еще.

...