2009-11-11 189 views
3

好的,这是一个确定的事实,即ASP中的Session对象与ASP.NET中的Session对象没有关系。我的问题是这样的:如果我有一个ASP页面,并且它调用一个ASPX页面,然后执行到另一个(或相同)ASP页面的Response.Redirect,会从原始ASP页面的会话变量是保存在最终的ASP页面中?有人知道答案,还是需要试验看看?以ASP和asp.net之间共享会话变量ASP会话变量vs ASP.NET会话变量

+0

偏向upvote。 :) – 2009-11-11 19:18:12

回答

4

将从原来 ASP页Session变量在 最后ASP页面会保留吗?

简答:是的。

这与您在ASP网站上留下页面,使用该浏览器窗口/标签转到其他网站(如Google)然后回来没有区别。只要尚未超时或未收集会话,或者可能使会话无效的任何其他标准事件,您的会话将被保留。

ASP和ASP.NET应用程序实际上是独立的应用程序 - 几乎分开的站点,即使它们生活在相同的文件夹结构中 - 恰好在同一台服务器上运行。他们不能共享数据(没有像在数据库中存储事物那样跳过一些环节)并且不知道彼此。

1
+0

谢谢,但那不是我的问题。我不需要在ASPX页面中使用任何来自ASP的Session变量,我只需要确保它们不会在我回到ASP页面时被销毁。我之前阅读过这篇文章,并在其他一些应用中使用过它。好文章。 – 2009-11-11 16:45:13

0

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

0

是的,在大多数情况下会话将存在于asp classic中。有几件事情要考虑,虽然:

  1. 如果经典网页不会再次请求SessionTimeout之前已经达到的情况下,会如果你在IIS 7上运行和SSL和SSL非重定向之间被破坏
  2. 页面可能会有不同的会话经典取决于网站配置属性