关于asp.net:Session变量没有在Response.Redirect上维护

Session variable not maintained on Response.Redirect

我有一个登录页面,登录时正在重定向到另一个页面。我正在会话中保存一些数据,但无法在page2.aspx中检索这些数据。

我发现一些博客和网站也提到了同样的问题,但是他们的解决方案不起作用。

这是我在page1.aspx上的代码

Session["Username"] = name; Response.Redirect("~/Page2.aspx",false);

在PADE2.ASPX中

1
2
3
4
5
6
7
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["Username"] != null)
         ClientScript.RegisterStartupScript(GetType(),"","sendtoken();", true);
     else
         Response.Redirect("Page1.aspx");                
}

此处会话["用户名"]为空

n web.config中的代码很简单。我试着用

sessionState timeout="2"

n

mode="InProc" and"StateServer"


最常见的原因是cookies被禁用。您需要使用cookie,或者切换到一个无需烹饪的会话模型,这有点难处理。参考此

http://support.microsoft.com/default.aspx?scid=kb;en-us;q316112


旧的,但我也有类似的问题。确保您没有在IIS中使用Web花园设置。换句话说,检查应用程序池是否不包含多个工作进程(这是默认的)。

应用程序池——>高级设置——>最大工作进程数

enter image description here