[英]set session in page_load
我在稱為Log.aspx的頁面中具有此頁面的寬度:
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
Session.Clear();
string username = "a";
if (!String.IsNullOrEmpty(username))
{
db_user = db.CBR_User
.Include("CBR_MissioniGruppi")
.Include("Anagrafica_Dipendente.Extra_dipendente")
.Include("Anagrafica_Dipendente.Dati_Dipendente")
.FirstOrDefault(p => p.Anagrafica_Dipendente.Extra_Dipendente.Codice_Fiscale.Equals(username, StringComparison.OrdinalIgnoreCase));
Session["User"] = db_user;
Session["t_admin"] = null;
Response.Redirect("Default.aspx");
}
}
問題是,如果我第二次在Default.aspx頁面中啟動2次用戶名不同的頁面2次,則第一次讀取變量Session [“ User”]。
es。
1)Launch Log.aspx with username = "a"
-> the session["User"] in Default page has the user with username a
2) Launch Log.aspx with username = "n"
-> the session["User"] in Default page has the user with username a
為什么?
我已經看到,如果我在日志頁面中放置一個按鈕,並且在單擊事件時執行該過程,那么它將起作用。
我該如何解決?
謝謝
您在這里問的內容還不是很清楚。 查看您的代碼,您很難將username的值編碼為'a',因此它將始終為'a'。
string username = "a";
如果這不是您的問題,那么我想您會遇到某種競爭狀況,其中您對該會話的多次讀取/寫入會引起沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.