ユーザーがログインして、リモートデータベースに保存されている先週のスケジュールを確認できるasp.net c#Webアプリケーションがあります。サイトへのログインは、ユーザー名とパスワードがデータベース内の uname & pass レコードと一致するかどうかを確認するための SQL チェックのみで構成されます。ログインすると、スケジュールなどの時間エントリを操作できます。デバッグ中、2 人の異なるユーザーとしてログインしました。ユーザー B は、フォームにユーザー A のすべてのものを持っていました。私は通常の C# アプリを書いているようにプログラムを書きましたが、複数の人が同時に Web サイトを使用することについてはまったく考えていませんでした。インスタンスの処理は自動的に行われると思っていたのでしょうか? 私は asp.net を使って 1 週間ほどしか使っていませんが、あまりサポートを受けていません。
私の主な質問は、自分のサイトに同時に複数のユーザーがいる場合、どうすればそれらのユーザーのセッションを別々に保つことができるでしょうか?
更新 - セッション変数を追加した後
これは、ユーザー情報を取得するための私の sql ステートメントです。ここで、セッション変数を使用して:
string sqlquery = "SELECT FirstName, LastName, OperatorID FROM operators WHERE EmpID = '" + sql + "'";
using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["EobrConnectionString"].ConnectionString))
{
conn.Open();
using (MySqlCommand comm = new MySqlCommand(sqlquery, conn))
{
using (MySqlDataAdapter adapter = new MySqlDataAdapter(comm))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
Session["Fname"] = dr[1].ToString();
Session["Lname"] = dr[2].ToString();
Session["opID"] = dr[3].ToString();
}
}
}
}
メインメニューページにはこれがあります:
protected void Page_Load(object sender, EventArgs e)
{
firstname = Session["Fname"].ToString();
lastname = Session["Lname"].ToString();
lblwelcome.Text = "Welcome, " + firstname + " " + lastname + ", make your selection below.";
}
ユーザー A がログインすると、自分の名前「Frank Drebbin」が表示されます。ユーザー B がログインすると、自分の名前「Jake Gaston」が表示されます。しかし今、最初のユーザー ページをリロードすると、名前が「Jake Gaston」と表示されます。