我有一個帶有剃鬚刀視圖引擎的Asp.net Mvc應用程序,其中我使用了一個變量Session['user']
:當用戶登錄應用程序Session['user'] = login
並在註銷時變量取值爲Null
。在asp.net mvc中更改會話變量超時的默認值
問題是,有一個短暫的超時和會話變量過期:如果我自動登錄應用程序Session['user'] =null
後一分鐘內什麼都不做。
那麼我怎樣才能設置會話的變量的超時時間是無限的,直到它被程序改變了?任何建議?
我有一個帶有剃鬚刀視圖引擎的Asp.net Mvc應用程序,其中我使用了一個變量Session['user']
:當用戶登錄應用程序Session['user'] = login
並在註銷時變量取值爲Null
。在asp.net mvc中更改會話變量超時的默認值
問題是,有一個短暫的超時和會話變量過期:如果我自動登錄應用程序Session['user'] =null
後一分鐘內什麼都不做。
那麼我怎樣才能設置會話的變量的超時時間是無限的,直到它被程序改變了?任何建議?
那麼我怎麼才能設置會話的變量無限,直到被程序改變了嗎?有什麼建議超時?
您無法將timeout
值設置爲無限制。
可以使用sessionState
元素的timeout
屬性在web.config中增加時間在幾分鐘值。
會話狀態設置
默認情況下,ASP.NET使用Cookie來標識屬於一個特定的會話請求。 如果cookie不可用,則可以通過向URL添加會話標識符來跟蹤會話。 要禁用cookie,設置sessionState cookieless="true".
(120 =分鐘)
<sessionState mode="StateServer" cookieless="false" timeout="120"/>
看看這個Session-Time out
您不能將其分配給無限制。您可以增加使用超時會話狀態元素的屬性分鐘值web.config
<sessionState timeout="30">
</sessionState>
默認情況下,會話超時值是20分鐘。另外如果您使用窗體身份驗證的情況下,檢查認證超時值以及
<authentication mode="Forms">
<forms loginUrl="logon.aspx"
protection="All" path="/" timeout="30" />
</authentication>
它的會話,而不是變量的超時。設置它的配置在幾分鐘
<sessionState timeout="30" />
這是不可能的設置會話超時到:無限。而是將會話時間設置爲高值示例:
<configuration>
<system.web>
<sessionState mode="InProc" timeout="350" />
</system.web>
</configuration>