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

时间:2012-07-05 12:16:14

标签: asp.net vb.net com asp-classic vbscript

背景:

  1. 我正在为经典ASP网站开发ASP.NET应用程序
  2. 用户身份验证由传统ASP网站执行
  3. 经典ASP网站将数据存储在会话变量中以识别经过身份验证的用户
  4. 我需要在ASP.NET应用程序中读取这些会话变量中的数据
  5. 许多文章都说您需要在数据库中存储会话状态才能执行此操作。

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

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

还有其他解决方案,google for session share asp.net asp你会找到很多解决方案,包括ms自己的解决方案。