如何在 ASP.NET 中使用经典的ASP会话对象来读取会话变量



背景:

  1. 我正在为一个经典的ASP网站开发一个 ASP.NET 应用程序
  2. 用户身份验证由经典 ASP 网站执行
  3. 经典 ASP 网站将数据存储在会话变量中,以标识经过身份验证的用户
  4. 我需要在我的 ASP.NET 应用程序中读取这些会话变量中的数据

许多文章都说您需要将会话状态存储在数据库中才能执行此操作。

他们都没有提到在 VB.NET 代码中使用 VBScript 对象。

可以这样做吗?我不能简单地在我的应用程序中引用 COM 库并使用对象及其方法吗?如果没有,怎么会呢?

会话变量值不仅仅是函数调用的结果。它们依赖于 IIS 和其他工具来唯一标识用户。无法跨这两个框架直接检索会话状态。

当然,根据数据的敏感程度,您可以破解它。在后台进行 Ajax 调用,以从自定义页面检索会话数据并将其馈送到 .NET 会话中。这是一个黑客和安全风险,但它会起作用。

几个解决方案...,这是一个最近的解决方案

http://weblogs.asp.net/lichen/archive/2011/10/30/sharing-session-between-asp-classic-and-asp-net-using-asp-net-session-state-server.aspx

还有其他解决方案,谷歌会话共享 asp.net asp,你会发现许多解决方案,包括女士自己的解决方案。

最新更新