如何在asp.net项目中设置无限会话超时时间

9

我正在进行asp.net项目开发。如何增加会话超时时间?(无限制超时) 还是应该在IIS上进行操作?如果可能,请解释一下。


设置一个带有远期过期日期的会话Cookie。 - Sain Pradeep
3个回答

19

你可以像下面展示的那样,在web.config中设置会话超时。这个值以分钟为单位,所以你可以设置任何长度,长达一年。

    <configuration>
      <system.web>
         <sessionState timeout="200"></sessionState>
      </system.web>
    </configuration>

可以使用sessionState配置元素的timeout属性在Web.config文件中设置应用程序的Timeout属性,也可以直接使用应用程序代码设置Timeout属性值。

Timeout属性不能设置为大于525,600分钟(1年)的值。默认值为20分钟。


谢谢您的回答。 如果您知道,请解释一下。我如何在IIS上做同样的事情。 - Buddhika Samith
你可以在web.config文件中编写,它会自动配置你的IIS,因为web.config是应用程序的配置文件。 - Shirish

2

您不能将其分配为无限制。您可以通过在web.config中的Session state元素中使用超时属性来增加以分钟为单位的值。

<sessionState timeout="30">
</sessionState>

默认情况下,会话超时值为20分钟。如果您使用表单身份验证,请检查身份验证超时值。

<authentication mode="Forms">
   <forms loginUrl="logon.aspx"  protection="All" path="/" timeout="30" />
</authentication> 

1
一种方法是在web.config文件中设置超时时间。例如:
<configuration>
<system.web>
    <sessionState mode="InProc" timeout="120"/>
</system.web>
</configuration>

另一种方法是在服务器端的.cs文件中设置超时时间。例如:
Session.Timeout = 100;

输入的超时值将被视为分钟。如果设置为0,则会显示错误页面,指示会话超时值不能为0且必须> 0。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接