asp.net app中的会话变量超时

the*_*ner 8 asp.net session-variables session-timeout

在我的网络应用程序中,我正在使用一些会话变量,这些变量在我登录时设置:

例如 Session("user_id") = reader("user_id")

我通过我的应用程序使用它.

当会话变量超时时,主要在连接到数据库时会抛出错误,这session("user_id")是某些查询所需的.

如何设置会话变量,以便一旦超时到达登录页面,或者至少可以增加可用时间长度?

Kev*_*Kev 11

我猜你正在使用表单身份验证.这里的诀窍是确保您的表单身份验证在会话之前到期.

我在这里回答了这个问题:

如何在Session过期时重定向到LogIn页面(ASP.NET 3.5 FormsAuthen)

例如:

配置表单身份验证 - 这会将超时设置为60分钟:

<authentication mode="Forms">
    <forms defaultUrl="~/Default.aspx"
        loginUrl="~/Login.aspx"
        slidingExpiration="true"
        timeout="60" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

将会话到期时间延长到更长时间:

<sessionState 
    mode="InProc" 
    cookieless="false" 
    timeout="70"/>
Run Code Online (Sandbox Code Playgroud)

在您的Login.aspx代码中,您还可以Session.Clear();在分配会话值之前删除过时的会话数据.