ASP.NET session時間的設定
方法一:
asp.net Session的預設時間設定是20分鐘,即超過20分鐘後,伺服器會自動放棄Session資訊.
當我們在asp.net程式中開啟webconfig的時候,可以看到一段如下的程式碼:
Asp.net程式碼:
stateConnectionString="tcpip=127.0.0.1:42424"
ConnectionConnection Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
上面一段的程式碼就是設定應用程式是如何儲存Session資訊的了.
其中的timeout="20" 即為aspasp.net session的預設時間.需要更改時間我們在此處填上不同的數值就可以了,預設單位為分.
sessionState節點屬性:
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;