微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 调试ASP.NET时会话清除结束,但在开发和测试服务器上运行正常

我有一个奇怪的问题,当我在visual studio 2010中调试它时,会话在回发后结束.

我将变量存储在第一页的会话中.它在下一页保持其价值,但之后就会丢失.它返回一个空值.奇怪的是,当我将确切的代码复制到开发或测试服务器时,它工作正常……

有什么想法会发生什么?谢谢.

UPDATE
代码非常简单.我有一个default.aspx页面,我正在设置一个会话变量:

HttpContext.Current.Session["PurchaSEOID"] = purchaSEOID;

当我单击“下一步”时,Default.aspx页面会将其重定向到@R_555_404[email protected]页面.在此页面上收集了其他用户信息(使用DevExpress控件).当我单击此页面上的“下一步”时,会话变量“PurhcaSEOID”在页面加载时返回null.

protected void Page_Load(object sender,EventArgs e)
{
      if(HttpContext.Current.Session["PurchaSEOID"] == null){
        throw new Exception("error!");
      }
}

奇怪的是,在首次加载页面时会保留Session.但是在回发时,它会失去变量.而且,这是刚开始发生的事情.我已经在这代码上工作了一个月左右,它一直工作正常.当我将这个确切的代码部署到我们的dev或测试服务器时,它工作正常.

我在Cassini中调试这个.非常感谢帮助,谢谢!

Shahzad Chaudhary

解决方法

在测试时,您是否禁用了cookie?我问,因为会话ID存储在cookie中,除非您使用的是无cookie会话(罕见).因此,如果在您的测试环境中您在浏览器中关闭了cookie,那么它将无法获取会话值.我不相信它存储时会抛出任何错误.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐