【发布时间】:2014-01-27 17:24:59
【问题描述】:
我在我的 asp.net 应用程序中有此代码,在按下按钮后,它会创建具有整数值的会话变量并重定向到不同的页面。 ID 变量是 mysql 数据库 ID 列中的最大数字,使用不同的方法检索它。
int ID;
protected void Submit_Click(object sender, EventArgs e)
{
ID=ID+1
Session["ID"]=ID;
Response.Redirect("~/NextPage.aspx");
}
如果两个不同的用户按下此按钮会发生什么?我的意思是第一个用户按下 id=5 的按钮,1 秒后第二个用户按下 id=6 的按钮。第一个用户能否获得 ID=5 或变量为他的 ID=6?
用户使用不同的电脑...
【问题讨论】:
-
测试一下就知道了。
Session是服务器上特定于用户的跟踪,因此一个用户会话中的值不应影响另一用户会话中的值。 -
你在哪里设置“ID”的值?来自用户的会话?
-
@David 我无法测试它,因为我只在 Visual Studio 中运行这个应用程序......
-
@Kevin Brechbühl 不,它从不同的类简单的返回方法这个方法简单地检索 Max(id) 'code' command.CommandText = "SELECT MAX(id) FROM ParticipantInfo;"; ID = (int)command.ExecuteScalar();
-
@EimantasBaigys:你当然可以测试它。运行应用程序,作为一个用户从一台机器连接到它,另一个用户从另一台机器连接到它(或同一台机器上的不同 Web 浏览器)。这是一个 Web 应用程序,它对任何向它提出请求的人开放。
标签: asp.net