会话变量丢失了?

时间:2015-12-23 16:42:28

标签: c# asp.net session

在我的登录屏幕上,我存储了在Session变量中登录的名称。但是当按下一个按钮打开一个新页面时,Session变量中的值在我的生产环境中会丢失,但在测试/调试时它会继续正常工作。

为什么价值不能准确记录在生产中?

protected void btnGo_Click(object sender, EventArgs e)
{
    if (this.txtname.Text > 0)
    {
        Session["name"] = this.txtname.Text;
        Response.Redirect("Page2.aspx");
    }
}

//This is my page load event for page 2
protected void Page_Load(object sender, EventArgs e)
{
    Response.Write(Session["name"].ToString());
}

修改

我在webconfig文件中没有看到任何提及

的条目
<sessionState>

这就是我在IIS中的会话状态 enter image description here

编辑#2

我将此行添加到我的webconfig文件中,并且在生产中仍未显示会话变量信息。

<sessionState mode="InProc" cookieless="true" timeout="80" />

1 个答案:

答案 0 :(得分:0)

由于重定向操作,会话的值丢失。您可以阅读更多内容,例如here

使用NSInvocation