2011-06-03 58 views
5

我們正在開發一個介紹新的asp.net頁面的asp經典應用程序。 會話變量通過login.asp共享,一切正常...... 現在我們面臨的問題是,asp經典會話過期,同時用戶正在導航.net頁面,並嘗試再次進入一個asp頁面... asp中的會話已過期,因爲用戶瀏覽了aspx頁面超過20分鐘。如何維護經典asp與.net共享會話?

在此先感謝 阿里爾吉梅內斯

+1

什麼是服務器平臺,你正在做的發展下?我似乎記得它宣佈在IIS7.x中有一個選項可以在經典的ASP和ASP.Net之間共享會話狀態。但我找不到這方面的證據。 – amber 2011-06-03 21:23:44

回答

3

可能是你可以保持你的經典ASP會話活着的時候,在一個ASPX頁面的用戶瀏覽方式:

  1. 在您的ASPX頁面添加一個隱藏的iframe是加載ASP頁

    'aspx頁面....

    < IFRAME SRC =' keep_session.asp」風格= '顯示:無' > </IFRAME >

  2. OR 使用AJAX張貼從您的ASPX頁面每隔10分鐘到一個ASP頁面,以保持ASP會話使用

+1

它感覺骯髒,但它的作品。 – 2015-03-23 12:00:52

2

我認爲你可以找到有趣:

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

更新

我覺得這是關鍵:

「的本機ASP會話只能存儲會話數據 在記憶中。爲了將會話數據存儲到SQL Server,編寫了自定義Microsoft®VisualBasic®6.0 COM對象來管理會話狀態,而不是使用本機會話對象。此COM對象將在每個Web請求的開始處實例化,並從SQL Server重新加載會話數據。當ASP腳本完成,這個對象將被終止,會話狀態將持續回SQL服務器。」

你從DB過檢索ASP會話?

+1

感謝我們正在實施的共享會話變量的解決方案遵循這些模式,並且運行良好真正的問題是在通過aspx頁面導航時在asp中放寬會話 – 2011-06-03 21:11:11

+1

我更新了帖子 – danyolgiax 2011-06-03 21:20:59

1

我能想到的解決此兩種方法:

  1. 增加會話超時設置要長一些,然後20分鐘

  2. 添加.aspx導航的常見頁面之間的重定向頁面
    。這將重定向到一個asp頁面,然後轉到正確的目標,確保會話對象沒有超時。

+2

或者3.添加腳本item項目,用於調用ASP會話的心跳頁面,並在您使用這些頁面的情況下將其構建到Master頁面。 – amber 2011-06-03 21:26:52