2012-08-19 86 views
4

我在我的asp.net应用程序中设置了一个Session对象,并将其设置为userID值。会话对象在gloal.asax中被实例化。当用户登录并通过身份验证时,该值将在button_click事件中设置。将asp.net会话对象设置为空

然而,在我的应用程序某处,会话被设置为空。我如何确定会话对象被设置为空的位置和方式?

+0

你可以发布global.asax中的代码吗?通常,会话不需要实例化。 – 2012-08-19 20:54:10

回答

3

在项目中进行全局搜索会话变​​量。在所有线上划一个断点。然后仔细检查应用程序。两天前我也有同样的错误。花了四个小时浏览了80多页。祝你好运。

1

一对夫妇的原因,这可能会发生:

  • 你修改的Page_Load()的变量?
  • 您的浏览器是否返回会话cookie? (您可以使用Fiddler进行验证)

以我的经验来看,这种问题几乎肯定会被上述问题解决。

+0

不在page_load上。我确实在global.asax session_start中拥有它,然后在button_click事件上正在写入或读取会话值。 – DotNetRookie 2012-08-19 17:20:54

+0

还要确保会话ID不会从在session_start中创建变量时到在尝试在click事件中检索变量时发生变化。 – 2012-08-19 17:25:55

+0

好的,我会仔细检查你的global.asax中有什么,并且它没有针对每个请求运行。 – 2012-08-19 17:27:02

相关问题