国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

asp中設置session過期時間方法總結

2024-05-04 11:08:06
字體:
來源:轉載
供稿:網友
 
asp中默認session過期時間為20分鐘,很多情況下不夠,今天有客戶要求很多就要重新登錄了,所以準備了這篇文章,方便需要的朋友
 
 
 
如果程序中沒有設置session的過期時間,那么session過期時間就會按照IIS設置的過期時間來執行,IIS中session默認過期時間為20分鐘,IIS中session時間可以更改 

時間設置要放在前面 

例如 
復制代碼代碼如下:

Session.Timeout=30 'SEESION有效時間為30分鐘 
Session("ID")=Rs("id") 
Session("Name")=Rs("Name") 
Session("Pass")=Rs("Pass" 


利用 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分鐘。效果同上,只不過只對當前網站生效。 
2、身份認證-Forms-Cooke超時,選擇"12:00:00",即12個小時。可選項共有以下八項: 
00:15:00 
00:30:00 
01:00:00 
02:00:00 
04:00:00 
08:00:00 
12:00:00 
1:00:00:00 
即最長24小時,最小15分鐘。這是默認的配置。在應用中可以自由定制。 

三、應用程序級 

同網站管理,只不過作用域僅限當前應用程序。 

四、頁面級 

在某頁面中,設置Session.Timeout = 30;即可臨時修改某頁面的會話過期時間。 
查看某個Session的過期時間,可以用 
復制代碼代碼如下:

TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); 
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); 

其中,二和三的設置,體現在Web.config中即: 
復制代碼代碼如下:

view plaincopy to clipboardprint? 
<?xml version="1.0"?> 
<configuration> 
<system.web> 
<authentication mode="Forms" > 
<forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/> 
</authentication> 
<sessionState mode="InProc" cookieless="false" timeout="20" /> 
</system.web> 
<location path="Login.aspx"> 
<system.web> 
<authorization> 
<allow users="*" /> 
</authorization> 
</system.web> 
</location> 
</configuration> 
<?xml version="1.0"?> 
<configuration> 
<system.web> 
<authentication mode="Forms" > 
<forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/> 
</authentication> 
<sessionState mode="InProc" cookieless="false" timeout="20" /> 
</system.web> 
<location path="Login.aspx"> 
<system.web> 
<authorization> 
<allow users="*" /> 
</authorization> 
</system.web> 
</location> 
</configuration> 

以上四處設置的優先級為頁面級>應用程序級>網站級>服務器級。換句話說,如果頁面設置為20分鐘,網站設置為120分鐘,那么,顯然以20分鐘為生效的過期時間。 

另外一個值得注意 的地方。 

在設置二處,設置會話超時(SessionState)120分鐘,而同時用forms認證,設置為“00:15:00”,即15分鐘,并且slidingExpirationo為false,則真正生效的Session過期時間是多少呢? 

有效的結果是SessionState的設置,即120分鐘。 

如果有設置Session過期時間沒有生效的,請檢查以上幾處配置 

網上找到的其它方法 

1、操作系統:Widnows Server 2003 
  步驟:開始——〉管理工具——〉Internet信息服務(IIS)管理器——〉網站——〉默認網站——〉右鍵“屬性”——〉主目錄——〉配置——〉選項——〉啟用會話狀態——〉會話超時(在這兒設置你要的超時時間,單位分鐘)。確定即可。 
  2、ASP.NET應用程序中Session過期時間的設置 
  在ASP.NET這樣的Web應用中,Session是用來保存用戶狀態的常用手段,不過由于服務器內存空間是有限的,所以Session過期時間設置是很有必要的。在ASP.NET中如何設置Session的過期時間呢,很簡單,修改web.config配置。 
  具體修改方法如下,在web.config中進行如下配置 
復制代碼代碼如下:

  <system.web> 
  <sessionState mode="InProc" timeout="30"/> 
  </system.web> 

  在這里指的是Session過期時間為30分鐘。也就是說30分鐘后如果當前用戶沒有操作,那么Session就會自動過期了。 
  3、在調用Session的cs頁中,Load事件里面寫以下 
復制代碼代碼如下:

  Session.Timeout = 30; 

  4、Store session in asp.net state service 
復制代碼代碼如下:

  <sessionState cookieless="false" timeout="480" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" /> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荣昌县| 济南市| 册亨县| 鄯善县| 弥勒县| 木兰县| 定边县| 大安市| 康定县| 定西市| 盖州市| 惠水县| 丽水市| 兴城市| 印江| 丽江市| 宜黄县| 磐石市| 新龙县| 临江市| 威远县| 巴林左旗| 成安县| 神农架林区| 富平县| 安福县| 贵南县| 花垣县| 嘉鱼县| 灌阳县| 柳州市| 萨嘎县| 无棣县| 舒城县| 五原县| 德庆县| 南充市| 平武县| 澳门| 闸北区| 宿迁市|