【问题标题】:ASP Session variable vs ASP.NET Session variablesASP 会话变量与 ASP.NET 会话变量
【发布时间】:2011-11-20 00:57:39
【问题描述】:

好的,ASP 中的 Session 对象与 ASP.NET 中的 Session 对象无关,这是一个既定事实。

我的问题是:如果我有一个 ASP 页面,并且它调用一个 ASPX 页面,然后该页面执行 Response.Redirect 到另一个(或相同的)ASP 页面,那么原始 ASP 页面中的 Session 变量是否会被保留在最终的 ASP 页面中?有人知道答案吗,还是我需要试验一下看看?

【问题讨论】:

    标签: asp.net asp-classic session-variables


    【解决方案1】:

    将Session变量从 原来的 ASP 页面被保留在 最终的 ASP 页面?

    简短回答:是的。

    这与您在 ASP 站点上留下一个页面,使用该浏览器窗口/选项卡转到另一个站点(如 Google)然后又回来没有什么不同。只要您的会话没有超时或被收集,或者任何其他可能导致会话无效的标准事情,您的会话就会被保留。

    ASP 和 ASP.NET 应用程序实际上是独立的应用程序 - 几乎是独立的站点,即使它们位于相同的文件夹结构中 - 碰巧在同一台服务器上运行。他们无法共享数据(无需跳过一些环节,例如将内容存储在数据库中)并且彼此不了解。

    【讨论】:

      【解决方案2】:

      在 asp 和 asp.net 之间共享会话变量的一种方法是:http://www.eggheadcafe.com/articles/20021207.asp

      【讨论】:

      • 谢谢,但这不是我的问题。我不需要在 ASPX 页面中使用任何来自 ASP 的 Session 变量,我只需要确保当我返回 ASP 页面时它们不会被破坏。我以前读过那篇文章,并在其他一些应用程序中使用过它。好文章。
      【解决方案3】:

      我不相信您的会话变量会被销毁,除非您关闭浏览器或通过代码清除会话。

      【讨论】:

        【解决方案4】:

        是的,在大多数情况下,会话将存在于 asp classic 中。不过有几点需要考虑:

        1. 如果在达到SessionTimeout 之前没有再次请求经典页面,则实例将被销毁
        2. 如果您在 IIS 7 上运行并在 SSL 和非 SSL 页面之间进行重定向,则经典中可能会有不同的会话,具体取决于站点配置属性

        【讨论】:

          猜你喜欢
          • 2012-06-30
          • 2012-03-26
          • 2011-03-09
          • 1970-01-01
          • 1970-01-01
          • 2013-01-26
          • 1970-01-01
          • 1970-01-01
          • 2011-05-19
          相关资源
          最近更新 更多