2014-01-27 3 views
0

У меня есть этот код в моем приложении asp.net, где после нажатия кнопки он создает переменную сеанса с целым значением и перенаправляет на другую страницу. Параметр ID - это номер наибольшего числа внутри столбца идентификатора базы данных mysql, используя другой способ для его получения.переменные asp.net session overriding

int ID; 

protected void Submit_Click(object sender, EventArgs e) 
    { 
     ID=ID+1 
     Session["ID"]=ID; 
     Response.Redirect("~/NextPage.aspx"); 
    } 

Что произойдет, если два разных пользователя нажмут эту кнопку? Я имею в виду, как 1-й пользовательский кнопочный выключатель с id = 5, и через 1 секунду второй пользователь нажимает эту кнопку с id = 6. Может ли первый пользователь получить ID = 5 или переменную, чтобы он стал ID = 6?

Пользователи используют разные ПК ...

+0

Проверьте это и выясните. 'Session' - это отслеживание на уровне пользователя на сервере, поэтому значения в сеансе одного пользователя не должны влиять на значения в сеансе другого пользователя. – David

+0

Где вы устанавливаете значение «ID»? Из сеанса пользователя? –

+0

@David Ну, я не могу проверить это, потому что я запускаю это приложение только в визуальной студии ... –

ответ

0

Сессии основаны пользователь. См. MSDN для получения дополнительной информации.

Так что в вашем случае это не проблема: первый пользователь получит ID=5, а второй пользователь получит идентификатор, увеличенный сам. Если ваша база данных MAX (id) не изменилась между обоими пользовательскими запросами, оба пользователя получат одинаковый идентификатор в своем сеансе.

+0

Спасибо за ссылку! –