Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在加载页面中设置会话_C#_Asp.net_Session_Login - Fatal编程技术网

C# 在加载页面中设置会话

C# 在加载页面中设置会话,c#,asp.net,session,login,C#,Asp.net,Session,Login,我在一个名为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 .Incl

我在一个名为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页面中,第二次读取第一次保存的变量会话[“User”]

是的

为什么?

我已经看到,如果我在日志页面中放置一个按钮,并在click事件上执行该过程,它就会工作

我怎样才能把它修好


谢谢

现在还不完全清楚你在问什么。查看您的代码,您正在将用户名的值硬编码为“a”,因此它将始终为“a”

string username = "a"; 

如果这不是你的问题,我会想象你有某种竞争条件,你对会话的多次读/写导致冲突。

我认为你的要求和你的代码实际上在做什么是两件非常非常不同的事情。您的代码应该如何执行也不清楚。
string username = "a";