ASP.NET session時間的設定
來源:互聯網
上載者:User
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的預設時間.需要更改時間我們在此處填上不同的數值就可以了,預設單位為分.
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;
}