C# ASP.Net会话数据在页面之间丢失
我今天在我的web应用程序中遇到了一个奇怪的行为。当我从一个页面导航到另一个页面时,我会丢失一个特定的会话变量数据 我能够在firefox中启动该应用程序,并且能够看到会话数据没有丢失 我使用C# ASP.Net会话数据在页面之间丢失,c#,.net,iis,session,session-variables,C#,.net,Iis,Session,Session Variables,我今天在我的web应用程序中遇到了一个奇怪的行为。当我从一个页面导航到另一个页面时,我会丢失一个特定的会话变量数据 我能够在firefox中启动该应用程序,并且能够看到会话数据没有丢失 我使用Response.Redirect(page2,false)重定向到另一个页面 下面的代码用于跟踪会话变量 System.IO.StreamWriter sw = new System.IO.StreamWriter(@"c:\test.txt", true); for (int i = 0; i <
Response.Redirect(page2,false)
重定向到另一个页面
下面的代码用于跟踪会话变量
System.IO.StreamWriter sw = new System.IO.StreamWriter(@"c:\test.txt", true);
for (int i = 0; i < Session.Count; i++)
{
sw.WriteLine(Session.Keys[i] + " " + Session.Contents[i]);
}
sw.Close();
System.IO.StreamWriter sw=new System.IO.StreamWriter(@“c:\test.txt”,true);
for(int i=0;i
有人能帮我吗?非常感谢您的帮助。您是在网络农场/网络花园环境中开发的吗?尝试使用。根据应用程序池的配置和部署方式,默认进程内模式可能无法预测。我遇到了完全相同的问题,在我的案例中,我找到了这种行为的原因。事实证明,当我调用Response.Redirect()方法时,我使用的是完整的url,而不仅仅是页面名称。因此,当我在localhost/myapp/page1.aspx中时,我重定向到MYMACHINENAME/myapp/page2.aspx,这就是为什么每个页面的会话都不同。我在我的代码中只使用了“page2.aspx”,然后在任何浏览器(即firefox)上的最终url都是localhost/myapp/page2.aspx。我不知道你是否像我那样处理url,但也许这个答案可以给你一个线索。谢谢,编码很好我的问题如下:- 问题:当我们使用IIS 7.5将ASP.NET应用程序移动到另一台服务器(Windows server 2008 R2)时,应用程序无法在页面之间移动会话值。e、 g.会话值已在第一页中设置,但无法移动到下一页。在下一页中,同一会话变量的值为空 在Google Chrome和Firefox中,会话值会移到下一页,但在Internet Explorer中不会 解决方案:我们创建了带有“u”(下划线)的URL名称,例如。在移除“3;”后,它会按要求工作,例如 其他可能的解决办法:
欢迎来到SO,请花几分钟时间阅读常见问题解答和降价文档(编辑问题时在右边空白处提供了一个有用的语法)。到底发生了什么,您如何在客户端(firefox)上查看服务器端会话变量?您到底在使用什么,并且您是否检查了web.config以确保会话超时不是0?不,我不是在web farm/web garden环境中开发的。我可以尝试状态服务器模式,但由于此代码(使用InProc模式)已存在很长时间,并且还存在于其他3个环境中,因此我无法更改它。但是,我不知道为什么现在会出现这个问题那么cookies呢?使用fiddler观看和/或观看会话id的更改。