2009-11-11 157 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. 頁面可能會有不同的會話經典取決於網站配置屬性