如果程序中沒有設置session的過期時間,那么session過期時間就會按照IIS設置的過期時間來執行,IIS中session默認過期時間為20分鐘,IIS中session時間可以更改
如果程序中設置了session過期時間,那么,即使你將IIS中session時間設置100小時也沒有用,因為程序會首先按照程序中設置,只有程序沒設置的情況下才會按照IIS設置的
時間設置要放在前面
例如
利用 Session.Timeout 屬性設置超時時限
對于一個登錄到 ASP 應用程序的用戶,如果用戶在系統默認的時間內未進行其它任何操作,當設置的時間一到便自動撤銷這個用戶的 Session,這樣就可以防止系統的資源被浪費。Session 對象的 TimeOut 屬性可以用來設置“過期時間”,已分鐘為單位,其設置格式為:
代碼如下 Session.TimeOut=MaxTime
實例代碼:(5.asp)頁面,本實例說明如何控制會話的結束。
代碼如下
<%@ language="vbscript" %>
<% session.timeout=60 %>
<html>
<head><title>控制會話的結束時間</title><head>
<body>
<%
who = Session.SessionID
CurrentPage=Request.ServerVariables("SCRIPT_NAME")
Response.AppendTolog who & ":" & CurrentPage
Response.write "<center>你的會話標識為:" & who & "<p>"
Response.write "你當前訪問的頁面路徑為:" & CurrentPage & "<p>"
if Session("I")="" then
session("i")=1
else
session("i")=session("i")+1
end if
Session.Abandon
Response.write "本頁面被你刷新了" & Session("i") & "次。</centr>"
%>
Asp.net應用中,很多人會遇到Session過期設置有沖突。其中,可以有四處設置Session的過期時間:
一、全局網站(即服務器)級
IIS-網站-屬性-Asp.net-編輯配置-狀態管理-會話超時(分鐘)-設置為120,即為2小時,即120分鐘后如果當前用戶沒有操作,那么Session就會自動過期。
二、網站級
IIS-網站-具體網站(如DemoSite)-屬性-Asp.net,此時有兩個選項,一個是“編輯全局配置”,一個是“編輯配置”。
如果“編輯全局配置”,就和上個配置一樣。
如果“編輯配置”,則只對當前網站生效。因為一個服務器可能有很多獨立網站。
1、繼續選擇“狀態管理”-會話超時(分鐘)-設置為360,即360分鐘。效果同上,只不過只對當前網站生效。
新聞熱點
疑難解答