如何在经典的asp中保持会话与.net共享呢?

时间:2011-06-03 21:02:39

标签: asp.net session asp-classic

我们正在开发一个引入新asp.net页面的asp经典应用程序。 会话变量通过login.asp共享,一切正常...... 我们现在面临的问题是asp经典会话到期同时用户正在浏览.net页面并尝试再次进入asp页面... asp中的会话已经过期,因为用户已经浏览了超过20分钟的aspx页面。

提前致谢 Ariel Gimenez

3 个答案:

答案 0 :(得分:3)

当用户通过以下方式浏览ASPX页面时,您可以保持您的Classic ASP会话处于活动状态:

  1. 在加载ASP页面的ASPX页面中添加隐藏的iframe

    'aspx页面....

    < iframe src ='keep_session.asp'style ='display:none'>< / iframe>

  2. 或者每隔10分钟从ASPX页面使用AJAX帖子到ASP页面以保持ASP会话活动

答案 1 :(得分:2)

我觉得你会觉得很有意思:

http://msdn.microsoft.com/en-us/library/aa479313.aspx

更新

我认为这是关键:

“本机ASP会话只能将会话数据存储在内存中。为了将会话数据存储到SQL Server,编写自定义Microsoft®VisualBasic®6.0COM对象来管理会话状态而不是使用本机会话这个COM对象将在每个Web请求的开头实例化,并从SQL Server重新加载会话数据。当ASP脚本完成后,该对象将被终止,会话状态将被持久化回SQL Server。“< / p>

你也从db检索asp会话吗?

答案 2 :(得分:1)

我可以想出两种解决方法:

  1. 将会话超时设置增加到20分钟以上。

  2. .aspx导航的常用页面之间添加重定向页面 这将重定向到asp页面,然后转到正确的目标,确保会话对象没有超时。