【问题标题】:Session is Null (No session at all) in class, but session does exist when accessing from aspx page课程中的会话为空(根本没有会话),但从 aspx 页面访问时会话确实存在
【发布时间】:2014-09-12 22:02:24
【问题描述】:

我正在开发一个多开发者网络应用程序。我正在尝试解决一个开发人员无法访问其自定义类中的会话变量的问题。

  • 我同步了他的更改,同样的问题发生在我的开发机器上。 (即,它不是 IIS 特定的)
  • 经过进一步检查,会话对象完全消失(没有会话,甚至是具有会话 ID 的空会话。任何访问 HttpContext.Current.Session 的尝试都会引发 null reference exception
  • 设置一些会话变量后再次运行页面代码,显示变量已全部保存并在我可以从页面本身访问的会话中正常运行。 (会话对象的行为正常)
  • 所以要明确一点,在同一个过程中,从页面调试到自定义类,会话对象在页面中是可访问的,在自定义类中不存在,当返回页面时,它再次可用。
  • 我尝试设置一个普通的字符串会话变量,以消除会话中存储的变量(对象)可能出现的问题。同样的问题仍然存在。

有什么想法吗?

【问题讨论】:

    标签: asp.net .net session iis session-state


    【解决方案1】:

    好吧.. 总是有助于将它从墙上反弹 :-)

    我们使用了一个文本框自动完成扩展器,它引用了我们自己的自定义 webmethod,(在我们的应用程序中的自定义类中)。似乎webmethod 装饰迫使它无状态运行......因此没有会​​话。

    我们将这个 webmethod 修饰函数移动到我们的页面代码隐藏页面中,它现在调用其他自定义类“具有”会话对象可用性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      相关资源
      最近更新 更多