Session變數知識總結!

來源:互聯網
上載者:User

1.問  session有效期間的設定能否使它長時間不到期?
   答  session.setMaxInactiveInterval(-1);
          方法1:設定成-1,永久   
          方法2:反覆重寫要使用的session   
          方法3:與Cookies結合,保證你的系統正常運行   
         方法4:將Session時間設定成很長,如1000000000
         總結:  如果把Session設定永久伺服器非常忙,不是好的選擇!
2.問  Session.Timeout = 5應該寫在哪裡?還有SessionID怎麼用?
   答   會話可以通過三種方式啟動:

一個新使用者請求訪問一個 URL,該 URL 標識了某個應用程式中的 .asp 檔案,並且該應用程式的 Global.asa 檔案包含 Session_OnStart 過程。
使用者在 Session 對象中儲存了一個值。
使用者請求了一個應用程式的 .asp 檔案,並且該應用程式的 Global.asa 檔案使用 <OBJECT> 標籤建立帶有會話範圍的對象的執行個體。
如果使用者在指定時間內沒有請求或重新整理應用程式中的任何頁,會話將自動結束。這段時間的預設值是 20 分鐘。可以通過在 網際網路服務管理員中設定“應用程式選項”屬性頁面中的“會話逾時”屬性改變應用程式的預設逾時限制設定。應依據您的 Web 應用程式的要求和伺服器的記憶體空間來設定此值。例如,如果您希望瀏覽您的 Web 應用程式的使用者在每一頁僅停留幾分鐘,就應該縮短會話的預設逾時值。過長的會話逾時值將導致開啟的會話過多而耗盡您的伺服器的記憶體資源。

對於一個特定的會話,如果您想設定一個小於預設逾時值的逾時值,可以設定 Session 對象的 Timeout 屬性。例如,下面這段指令碼將逾時值設定為 5 分鐘。

<% Session.Timeout = 5 %>
您也可以設定一個大於預設設定的逾時值,Session.Timeout 屬性決定逾時值。

您也可以通過 Session 對象的 Abandon 方法顯式結束一個會話。例如,在表格中提供一個“退出”按鈕,將按鈕的 ACTION 參數設定為包含下列命令的 .asp 檔案的 URL 。

<% Session.Abandon %>

---------------------------------------------------------
關於 SessionID 和 Cookie
當使用者第一次請求給定的應用程式中的 .asp 檔案時,ASP 產生一個 SessionID。SessionID 是由一個複雜演算法產生的號碼,它唯一標識每個使用者會話。在新會話開始時,伺服器將 Session ID 作為一個 cookie 儲存在使用者的 網頁瀏覽器中。

SessionID 與鑰匙很相似,當會話期間使用者與應用程式互動時,ASP 可以將使用者資訊儲存在伺服器的一個“保險箱”中。正象用鑰匙能存取保險箱中物品一樣,通過在 HTTP 要求標題中發送的使用者 SessionID cookie,就能夠對該“保險箱”中的內容進行訪問。每當 ASP 收到一個頁請求時,就檢查 HTTP 要求標題,以獲得 SessionID cookie。

在將 SessionID cookie 儲存於使用者的瀏覽器之後,即使使用者請求了另一個 .asp 檔案,或請求了運行在另一個應用程式中的 .asp 檔案,ASP 仍會重用該 cookie 跟蹤會話。與此相似,如果使用者故意放棄會話或讓會話逾時,然後再請求另一個 .asp 檔案,那麼 ASP 將以同一個 cookie 開始新的會話。只有當伺服器管理員重新啟動伺服器或使用者重新啟動 網頁瀏覽器時,此時儲存在記憶體中的 SessionID 設定將被清除,使用者將會獲得新的 SessionID cookie。

通過重用 SessionID cookie,ASP 將發送給使用者瀏覽器的 cookie 數量降為最低。另外,如果您決定您的 ASP 應用程式不需要會話管理,就可以不讓 ASP 跟蹤會話和向使用者發送 SessionID 。

3. 問   如何設定session的存活時間?
    答 法一:最有效辦法:設定sub   session_onstart裡面session.timeout=15
          法二: 設定本地IIS設定.預設網站->網站->右鍵屬性->asp.net->編輯配置
          法三:WEb.xml檔案中的  
          <session-config>  
                  <session-timeout>  
                          30  
                  </session-timeout>  
          </session-config>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.