asp.net
網(wǎng)站建設時,經(jīng)常遇到 session過期時間的設置問題,下面介紹兩種asp.net設置session過期時間方法
方法一:
asp.net Session的默認時間設置是20分鐘,即超過20分鐘后,服務器會自動放棄Session信息.
當我們在asp.net程序中打開webconfig的時候,可以看到一段如下的代碼:
Asp.net程序代碼:
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
上面一段的代碼就是配置應用程序是如何存儲Session信息的了.
其中的timeout="20" 即為asp.net session的默認時間.需要更改時間我們在此處填上不同的數(shù)值就可以了,默認單位為分.
sessionState節(jié)點屬性:
<sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"
/>
必須有的屬性是
mode 設置將Session信息存儲到哪里
Off 設置為不使用Session功能
InProc 設置為將Session存儲在進程內(nèi),就是ASP中的存儲方式,這是默認值。
StateServer 設置為將Session存儲在獨立的狀態(tài)服務中。
SQLServer 設置將Session存儲在SQL Server中
可選的屬性是:
cookieless 設置客戶端的Session信息存儲到哪里
ture 使用Cookieless模式
false 使用Cookie模式,這是默認值。
timeout 設置經(jīng)過多少分鐘后服務器自動放棄Session信息。默認為20分鐘
stateConnectionString 設置Session信息存儲在狀態(tài)服務中時使用的服務器名稱和端口號,例如:"tcpip=127.0.0.1:42424”。當mode的值是StateServer是,這個屬性是必需的。
sqlConnectionString 設置與SQL Server連接時的連接字符串。當mode的值是SQLServer時,這個屬性是必需的。
stateNetworkTimeout 設置當使用StateServer模式存儲Session狀態(tài)時,經(jīng)過多少秒空閑后,斷開Web服務器與存儲狀態(tài)信息的服務器的TCP/IP連接的。默認值是10秒
ASP.NET session時間的設置方法二: 不過有時修改配置文件不能很好的解決這個問題。你可以在公共程序里Global.asax里修改。我們在找到global.asax中找到 Session_Start后 按如下設置一下就可以了。
void Session_Start(object sender, EventArgs e)
{
// 在新會話啟動時運行的代碼
Session.Timeout = 600;
}