asp.net mvc 3应用程序中的默认sessionState是什么?

时间:2013-01-16 18:01:50

标签: asp.net-mvc-3 web-config session-state

我正在考虑使用<sessionState mode="InProc" timeout="45" />,因为有些用户反复登录,我想保存一段时间。但是,在我将其添加到我的web.config文件之前,我想确保没有副作用。

我读了sessionState个版本,虽然我已经很清楚发生了什么,但我很想知道asp.net mvc 3应用程序的默认设置是什么,因为没有定义sessionState 1}}此时我的system.web内部。

我知道应用程序可以在没有声明的情况下访问Session["key"],尽管我试图避免在Session上加载这种类型的负载。我假设我的应用程序继承了IIS 7中的一个设置(此应用程序位于共享托管环境中)。

据我所知,如果我在会话中使用专用数据库或服务器,可能会出现问题,但这只是一个基本设置,就这一点而言,没什么特别的。

asp.net mvc 3是否有默认sessionState?它只是被遗传了吗?如果它在IIS中的其他位置定义,我的web.config中是否会覆盖它会产生副作用吗?

2 个答案:

答案 0 :(得分:5)

截至目前,默认Timeout = 20分钟。

These是.Net Framework 4的默认值。我认为它们不会因为MVC 3而改变。

答案 1 :(得分:0)

接受的答案是正确的,但OP可能实际意味着询问认证超时,这将是30分钟。

我知道这是旧的,但澄清会话状态与身份验证无关很重要。 OP没有说明正在使用哪种形式的身份验证。假设表单身份验证,那么默认超时为30分钟,并在web.config中的<authentication...<forms元素中进行控制。我发现在使用进程内会话时,最好将身份验证超时设置为小于会话超时。我倾向于使用进程外会话作为首选项,因为它保留了来自app-pool循环的会话数据。