可能是你的index-main.aspx或者主框架页面里面有代码重写了Session.仔细检查你的代码。
解决方案 »
- 关于部署CRM的环境
- button按钮click不起作用
- 怎么知道前台页面选择了哪个选项?
- 怎样更新XML文件
- 谁能推荐学习C#和AJAX的好的学习电子书
- asp.net2.0中嵌套母版页的内容页里的Dropdownlist控件的值,打开新连接后,取不到
- 一个未解决的老问题!
- ******************新窗口传回值的问题
- 如何在treeview控件中动态加入数据库中的数据
- 关于Win2K ADV下打SP3后 .NET框架无法工作!
- 照着坛子里的帖子用c#调用word,还是出错(异常详细信息: System.Runtime.InteropServices.COMException: 服务器出现意外情况)
- sqlserver7.0&&sqlserver2000的备份恢复的问题?
http://support.microsoft.com/support/kb/articles/q323/7/52.asp然后,请您打开Web.config确认您正在使用的Session类型,是Inproc,SQLServer还是其它?建议您提供<sessionState>元素中的具体信息。根据我的经验,如果您正在使用InProc类型的Session, 有一些原因确实会导致Session的丢失,比如说一些防病毒软件等。具体的信息,建议您参阅下面的微软知识库文章:Q324772 PRB: Session Data Is Lost When You Use ASP.NET InProc Mode
http://support.microsoft.com/support/kb/articles/q324/7/72.asp建议您参考下面的步骤进行troubleshooting:1. 启用ASP.NET的Trace.在您的WebForm中,加入:<%Page trace="true"...%>,确认不同的页面之间的Session ID是否相同。2。改用URL Session.默认情况下,浏览器端的Session ID保存在Cookies中,如果Cookies被禁用,或者IE存在问题,可能导致ASP.NET不能识别Session.建议您使用URL Session, 这样浏览器端的Session ID 会被包括在URL中,跟浏览器端的Cookie没有关系:到开Web.config, 修改<sessionState>, 把cookieless设置为true. 这样,浏览器端就不再使用cookies来保存SessionID, 您可以在URL中观察到对应的Session ID.3。在合适的地方设置断点,然后通过QuickWatch, 来确认您的程序的执行逻辑,并通过QuickWatch来监视Session变量的值。希望上面的信息对您有所帮助。-微软全球技术中心 -zgh本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="true" timeout="2" />
我把trace设为true,把cookieless也设置为true,看到这三页的SessionId都是一样的。按F5刷新后,这Session Id也没有改变,但里面的“会话状态”却没有了,何解呢?(在每一个页里按右键刷新是没事的。)
而在这页面的unload里有一句session.abandon的语句,目的就是当用户关闭窗口是同时触发Gobal.asa里的Session_End。但当整个页面刷新的时候这unload也触发了
现在的问题是,有什么方法可以判断用户到底是做关闭窗口的动作还是在“刷新”呢?
不编译没事的.