asp.net Session的默認時間設置是20分鐘,即超過20分鐘后,服務器會自動放棄Session信息.
當我們在asp.net程序中打開webconfig的時候,可以看到一段如下的代碼:
sessionState節點屬性:
<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存儲在進程內,就是ASP中的存儲方式,這是默認值。
StateServer 設置為將Session存儲在獨立的狀態服務中。
SQLServer 設置將Session存儲在SQL Server中
可選的屬性是:
cookieless 設置客戶端的Session信息存儲到哪里
ture 使用Cookieless模式
false 使用Cookie模式,這是默認值。
timeout 設置經過多少分鐘后服務器自動放棄Session信息。默認為20分鐘
stateConnectionString 設置Session信息存儲在狀態服務中時使用的服務器名稱和端口號,例如:"tcpip=127.0.0.1:42424”。當mode的值是StateServer是,這個屬性是必需的。
sqlConnectionString 設置與SQL Server連接時的連接字符串。當mode的值是SQLServer時,這個屬性是必需的。
stateNetworkTimeout 設置當使用StateServer模式存儲Session狀態時,經過多少秒空閑后,斷開Web服務器與存儲狀態信息的服務器的TCP/IP連接的。默認值是10秒
ASP.NET session時間的設置方法二: 不過有時修改配置文件不能很好的解決這個問題。
你可以在公共程序里Global.asax里修改。我們在找到global.asax中找到 Session_Start后 按如下設置一下就可以了。
void Session_Start(object sender, EventArgs e)
{
// 在新會話啟動時運行的代碼
Session.Timeout = 600;
}
新聞熱點
疑難解答