如何维护经典asp与.net共享会话?

问题描述:

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

在此先感谢 阿里尔吉梅内斯

+1

什么是服务器平台,你正在做的发展下?我似乎记得它宣布在IIS7.x中有一个选项可以在经典的ASP和ASP.Net之间共享会话状态。但我找不到这方面的证据。 – amber 2011-06-03 21:23:44

可能是你可以保持你的经典ASP会话活着的时候,在一个ASPX页面的用户浏览方式:

  1. 在您的ASPX页面添加一个隐藏的iframe是加载ASP页

    'aspx页面....

    < IFRAME SRC =' keep_session.asp”风格= '显示:无' > </IFRAME >

  2. OR 使用AJAX张贴从您的ASPX页面每隔10分钟到一个ASP页面,以保持ASP会话使用

+1

它感觉肮脏,但它的作品。 – 2015-03-23 12:00:52

我认为你可以找到有趣:

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

更新

我觉得这是关键:

“的本机ASP会话只能存储会话数据 在记忆中。为了将会话数据存储到SQL Server,编写了自定义Microsoft®VisualBasic®6.0 COM对象来管理会话状态,而不是使用本机会话对象。此COM对象将在每个Web请求的开始处实例化,并从SQL Server重新加载会话数据。当ASP脚本完成,这个对象将被终止,会话状态将持续回SQL服务器。”

你从DB过检索ASP会话?

+1

感谢我们正在实施的共享会话变量的解决方案遵循这些模式,并且运行良好真正的问题是在通过aspx页面导航时在asp中放宽会话 – 2011-06-03 21:11:11

+1

我更新了帖子 – danyolgiax 2011-06-03 21:20:59

我能想到的解决此两种方法:

  1. 增加会话超时设置要长一些,然后20分钟

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

+2

或者3.添加脚本item项目,用于调用ASP会话的心跳页面,并在您使用这些页面的情况下将其构建到Master页面。 – amber 2011-06-03 21:26:52