在类中,Session是Null(根本没有会话),但是从aspx页面访问时确实存在会话

时间:2014-07-22 07:33:46

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

我正在开发一个多开发人员网络应用。我试图解决一个问题,即一个开发人员无法在自定义类中访问会话变量。

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Alrighty然后..总是有助于将它从墙上反弹: - )

我们使用的文本框自动填充扩展程序引用了我们自己的自定义webmethod,(在我们的应用程序中的自定义类中)。似乎webmethod装饰迫使它操作无国籍......因此没有会​​话。

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