回答
尽管如此,使ASP和ASP.NET共存不费吹灰之力微软尽了最大努力,一个区域仍然是一个绊脚石......会话状态。幸运的是,ASP.NET升级会话状态管理的优势远远超过了不能将“Classic”会话信息传递给.NET的不便。不幸的是没有简单的解决方案;我能提供的最多是一个易于实施的解决方法。
为了找到合适的解决方案,我遇到了两个值得一提的好选择。第一个涉及将会话信息解析到“经典”中间页面上的隐藏表单字段,然后将页面提交到将表单字段加载到会话状态的.NET中间页面。这是一个很好的简单解决方案,但它不能同时工作。在.NET中,您无法指定您提交给的页面。每个页面都必须自行回发。
第二个选项可能更接近实际解决方案而不是解决方法。微软的Billy Yuen开发了一个有效的解决方案。代码优雅,集成看起来是无缝的,但我无法在我的系统上工作(记得我说没有简单的解决方案,并不是没有解决方案)。如果这个解决方案适合你,太棒了!你不需要我的代码,你会很高兴地将会话信息从“Classic”传递给.NET,就像它正在流行一样,谢谢你停下来。
好的,如果您仍在阅读,请简单介绍一下我创建的解决方法。它需要一个数据库,但是哪种类型的数据库并不重要(尽管代码是为SQL Server编写的)。当一个页面(源页面)想要重定向到使用不同版本的ASP的另一个页面(目标页面)时,它会调用一个中间页面。源中间页面使用每个会话变量并将其与全局唯一ID(GUID)一起添加到数据库。由于“Classic”和.NET使用不同的SessionID格式,因此不可能使用SessionID,因此使用GUID。源中间页然后通过Querystring变量将GUID传递到目标中间页。目标中间页面从数据库检索会话信息,自行清理,然后重定向到目标页面。它与第一种解决方法类似,但支持在两个方向上传输状态。 代码使用 安装
- 将举行临时会议信息的数据库上运行的“ASPSessionState.sql”的SQL查询。
- 将.asp和.aspx。*(SessionTransfer.aspx和SessionTransfer.aspx.cs)文件复制到您网站上的文件夹中。
- 更新“SessionTransfer.asp”和“SessionTransfer.aspx.cs”文件中的连接对象信息。它位于每个文件的三个位置(抱歉关于未合并连接信息)。
- 编译aspx文件。
- .asp和.aspx。*文件必须全部位于相同的文件夹才能工作。
用法
对于一个超链接(定位标记)的使用或一个响应。重定向,设置的目标网址为以下之一:
从ASP “经典” 页:
SessionTransfer.asp?dir=2aspx&url=<asp_dotnet_url>
从ASP.NET页:
SessionTransfer.aspx?dir=2asp&url=<asp_classic_url>
代码将转移会话信息并将用户重定向到由or指定的url。 下载
您可以从here下载代码:session_transfer.zip(4.6 KB)。
可以看看NSession它允许使用状态服务器在Classic ASP和ASP.Net之间共享会话状态。很容易设置只是配置应用程序使用状态服务器的会话和注册几个DLL文件。
- 1. WCF和ASP.NET会话共享
- 2. ASP.net会话默认共享?
- 3. 有Coldfusion和asp.net共享会话变量
- 4. 共享会话
- 5. 共享会话
- 6. Flash和php会话共享?
- 7. 共享方法在ASP.NET会话
- 8. 共享会话(Asp-的> asp.net)安全
- 9. BrowserSync共享会话
- 10. PHP会话共享
- 11. 共享JVM会话
- 12. 使用WCF会话共享ASP.NET会话状态
- 13. 应用程序和共享会话之间的共享DLL
- 14. 如何在http和https之间共享一个asp.net会话
- 15. 在ASP.NET和PHP之间共享会话数据
- 16. 在asp.net和java之间共享会话变量
- 17. 在asp.net和vb6之间共享会话变量
- 18. 在WCF和Silverlight Http客户端之间共享ASP.NET会话ID
- 19. 如何在PHP和ASP.net应用程序之间共享会话?
- 20. 具有SSL和共享会话的Haproxy
- 21. 在Ruby和PHP之间共享会话
- 22. Rails和Sinatra共享会话不工作
- 23. Symfony2和ClankBundle:不能共享会话
- 24. 的Node.js和PHP会话共享
- 25. Java EE 6并发会话和共享
- 26. 与StateStitch和AppFabric共享会话
- 27. 在php和jsp之间共享会话
- 28. PHP和Node.js的共享会话标识
- 29. php子域会话共享
- 30. JaxWSProxyFactoryBean共享HTTP会话
在我们的一个应用程序中,我们使用网址中的querystrings将asp.net会话数据传递给经典的asp会话数据。这不是很好,但保存了我们的重写。 – adrianos 2009-11-18 08:33:12
你能解释更多吗? TY。 – 2009-11-18 12:57:31