2013-07-25 4 views
3

Простите меня, если это глупый вопрос. Я новичок в asp, исходящий от строгого рабочего стола. У меня проблема с пользователями, некоторые из которых переопределяют предыдущий сеанс пользователя в моем приложении asp.net для веб-форм. Я создал небольшое веб-приложение для мобильных телефонов, чтобы позволить трем парням на работе работать и работать на своих смартфонах, но если пользователь A наносит удар, а пользовательские удары B сразу после этого, пользователь A будет видеть удары пользователя B, если они обновляют свой телефон. Кроме того, если пользователь А решает ударить, он на самом деле в конечном итоге удалит пользователя B. Я слышал, что термин пользовательское состояние выбрасывается, но я думал, что asp.net обрабатывается автоматически? Мне кажется, что сервер работает только один сеанс за раз. Как я могу сохранить уникальные сеансы для моих пользователей?Пользователи переопределяют друг друга в моем приложении asp.net

+6

Похоже, что у вас, вероятно, есть статические поля где-то ... –

+1

Я делаю. Я сохраняю включенного пользователя в статическом свойстве для легкого доступа. – Adrian

+4

Знаете ли вы, что существует * одно * статическое поле для целого AppDomain? Если у вас несколько пользователей, все они будут попирать то же самое поле. Для веб-сайта нет такой концепции, как «текущий пользователь», - всегда может быть несколько пользователей. –

ответ

7

У меня создалось впечатление, что на каждом сервере, который посетил его, сервер выполнял разные «сеансы» или «апдомены» или «экземпляры».

Нет, это не тот случай. ASP.NET поддерживает сеансы, но не таким образом. Вместо этого вы должны посмотреть на HttpContext.Session, что поможет вам отслеживать состояние сеанса.

См. Также "ASP.NET Session State Overview" для получения дополнительной информации.

+0

Спасибо тонну! Просто мое приложение работает правильно. Это было намного легче, чем я думал, что это будет. – Adrian

Смежные вопросы