Как обрабатывать сеанс на нескольких вкладках в браузере на С#C#

Место общения программистов C#
Ответить
Anonymous
 Как обрабатывать сеанс на нескольких вкладках в браузере на С#

Сообщение Anonymous »

Я использую asp.net C# и не могу управлять сеансами на нескольких вкладках. Сценарий для моего веб-сайта: ПОЛЬЗОВАТЕЛЬ входит в систему, затем выбирает работу, а затем подает заявку на эту работу, и когда пользователь подает заявку, запись в базе данных делается по этому запросу. Он будет хранить выбранный идентификатор задания и идентификатор электронной почты этого пользователя.

Проблема, с которой я столкнулся, заключается в том, что я открываю страницу входа в браузере в двух разных вкладках. входные данные путаются. например,
ПОЛЬЗОВАТЕЛЬ A выбрал задание 1, а пользователь B выбрал задание 2, когда я нажимаю кнопку «Применить» от пользователя B, его выбранное задание и идентификатор электронной почты пользователя A вводятся в базу данных.

Я пытался решить эту проблему, проверяя, является ли объект сеанса NULL/пустым, только тогда должен быть создан новый сеанс. в противном случае другой пользователь должен получить сообщение об ошибке, что он не может войти в систему. но мой код не работает каждый раз. Иногда это дает мне результат, а иногда просто не запускается. вот мой код:

Код: Выделить всё

protected void session_create(string s)
{
if (string.IsNullOrEmpty((string)Session[s]))
{
Session[s] = s;
test.Text = "Welcome user,  " + (string)(Session[s]);
}
else
{
test.Text = "You are Already logged in";
}
}
а затем я вызываю этот метод при кнопке_submit:

Код: Выделить всё

session_create("email");
поскольку я храню только переменную электронной почты, я передаю параметр электронной почты.

где,

Код: Выделить всё

string email = emailtextbox.Text;
Итак, кто-нибудь знает, как мне решить эту проблему? пользователю не должно быть разрешено входить в систему на нескольких вкладках одного и того же браузера. пожалуйста, помогите.

Подробнее здесь: https://stackoverflow.com/questions/159 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»