如何将会话变量从经典 asp 转移到 asp.net?

How to transfer session variable from classic asp to asp.net?

我正在从 asp 迁移到 asp.net 应用程序,我需要将会话变量从 index.asp 页面传递到 aspx page.There 是演示会话变量传输的示例。

Transfer Session Variables from Classic ASP to ASP.NET

这里我不明白的是,asp页面中提到的aspx页面在哪里?有没有办法转移到任何 aspx 页面而无需在 index.asp 页面中提及?

这是我的代码,

 dim sItem, i
  i= 0
  For each sItem in Session.Contents
    if i <> 0 then
      Response.Write("&")
    end if
    Response.Write(sItem & "=" & Server.UrlEncode(Session.Contents(sItem))) 
    i= i + 1
  next %>'

首先ASP.NET不是classic的更新版本ASP.

Session 在 ASP.Net 在 ASP.NET 中,每个网页都源自 System.Web.UI.Page class。页面 class 聚合了 session 数据的 HttpSession object 实例。在此示例中,名为 SessionPage 的自定义页面 class 派生自 System.Web.UI.Page,以提供与页面 class 相同的所有功能。派生页面的唯一区别是默认的 HttpSession 被自定义的 session object.

覆盖了

Session 经典 ASP

原生ASPsession只能在内存中存储session数据。为了将 session 数据存储到 SQL 服务器,编写了自定义 Microsoft® Visual Basic® 6.0 COM object 来管理 session 状态,而不是使用本机 session object。此 COM object 将在每个 Web 请求的开头实例化,并从 SQL 服务器重新加载 session 数据。当 ASP 脚本完成时,这个 object 将被终止并且 session 状态将被持久化回 SQL 服务器。

实现经典 ASP 到 ASP.Net

之间的迁移

1.

设置演示程序的步骤

创建一个名为 SessionDemoDb 的新数据库。 创建 SessState table (osql.exe –E –d SessionDemoDb –i Session.sql)。 创建一个名为 Demo 的新虚拟目录。 在 ASP 配置选项卡下关闭 ASP Session。 将 web.config、testPage.aspx、Global.asa、testPage.asp 和 GlobalInclude.asp 复制到虚拟目录。 更新 Global.asa 和 web.config 中的 DSN 字符串设置。 session 超时设置是可选的。默认值为 20 分钟。 将 SessionUtility.dll 安装到全局程序集缓存中 (gacutil /i SessionUtility.dll)。 使用 regasm.exe (regasm.exe SessionUtility.dll /tlb:SessionUtility.tlb) 将 SessionUtility.dll 公开为 COM object。 将 SessionManager.dll 复制到本地目录并使用 regsvr32.exe 注册它 (regsvr32 SessionManager.dll)。 授予 IUSR_ 帐户对 SessionMgr.dll.

的读取和执行权限

运行 演示程序的步骤

启动 Microsoft® Internet Explorer。 为 classic ASP 加载 testPage.asp。数字“1”应该出现在网页中。 在 Internet Explorer 上单击刷新以重新加载页面。数字应该递增。 对于 ASP.NET,将 URL 更改为 testPage.aspx。这个数字应该不断增加。 可以先启动 testPage.aspx 页面来重复相同的过程。

2.

每当您的应用程序进行跳转时,页面将被重定向到这个新创建的页面,该页面将为 session 变量创建 cookie,这对用户来说是必不可少的。然后这些 cookie 将被 ASP.NET 抓取。使用这些 cookie,根据浏览器的要求为 ASP.NET 创建新的 session 变量。

更多信息:

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

http://www.codeproject.com/Articles/30723/Handle-session-variable-problems-between-classic-A