我有一个带有 razor View 引擎的 Asp.net Mvc 应用程序,我在其中使用了一个变量 Session['user']
:当用户登录应用程序时 Session['user '] = login
并且在注销时此变量的值为 Null
。
问题是超时很短, session 变量过期:如果我在登录应用程序后一分钟内什么都不做,Session['user'] =null
自动。
那么我怎样才能将 session 变量的超时设置为无限,直到它被程序更改?有什么建议吗?
最佳答案
So how can i set the timeout of the session's variable unlimited until it is changed by program?Any suggestions?
您不能将 timeout
值设置为无限制。
您可以使用 web.config 中 sessionState
元素的 timeout
属性增加超时值(以分钟为单位)。
session 状态设置
默认情况下,ASP.NET 使用 cookie 来识别哪些请求属于特定 session 。
如果 cookie 不可用,可以通过向 URL 添加 session 标识符来跟踪 session 。
要禁用 cookie,请设置 sessionState cookieless="true"。
(120 = 分钟)
<sessionState mode="StateServer" cookieless="false" timeout="120"/>
看看这个 Session-Time out
关于c# - 在 asp.net mvc 中更改 session 变量超时的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17741775/