c# - 调试 ASP.NET 时 session 清除结束,但在开发和测试服务器上工作正常

标签 c# asp.net session

当我在 visual studio 2010 中调试它时,我遇到了一个奇怪的问题,即 session 在回发后结束。

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

知道会发生什么吗?谢谢。

更新
代码相当简单。我有一个 default.aspx 页面,我在其中设置 session 变量:

 HttpContext.Current.Session["PurchaseOID"] = purchaseOID;

当我单击“下一步”时,Default.aspx 页面将其重定向到 Information.aspx 页面。此页面上收集了其他用户信息(使用 DevExpress 控件)。当我在此页面上单击“下一步”时, session 变量“PurhcaseOID”在页面加载时返回 null。

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

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

我正在 Cassini 中调试它。将不胜感激,谢谢!

沙赫扎德乔杜里

最佳答案

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

关于c# - 调试 ASP.NET 时 session 清除结束,但在开发和测试服务器上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589275/

相关文章:

C# 将数组列表保存到文件?

c# - 请求的 URL 的文件扩展名没有配置处理程序来处理 Web 服务器上的请求

javascript - 使用 Ajax 登录 PHP

jquery - ajax 调用中 session 过期时回发

c# - 如何确定类型是否为结构?

c# - 如何放大和缩小WP7中的图片?

c# - 关于 orderby 和 null 集合的 LINQ to Entities 问题

c# - 内存中的虚拟数据库

ASP.NET- 强制子/容器事件在父级加载之前触发?

php - Laravel 子域 : single auth across all subs not working?