簡體   English   中英

在page_load中設置會話

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM