`

asp.net中Session过期设置方法

 
阅读更多

asp.net中Session过期设置方法

2011-09-13 04:55未知  阅读次数(46次 )
字号:T |T

在Asp.net应用中,很多人会遇到Session过期设置有冲突。其中,可以有四处设置Session的过期时间:

一、全局网站(即服务器)级

IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分钟后如果当前用户没有操作,那么Session就会自动过期。

二、网站级

IIS-网站-具体网站(如DemoSite)-属性-Asp.net,此时有两个选项,一个是“编辑全局配置”,一个是“编辑配置”。

如果“编辑全局配置”,就和上个配置一样。

如果“编辑配置”,则只对当前网站生效。因为一个服务器可能有很多独立网站。

1、继续选择“状态管理”-会话超时(分钟)-设置为360,即360分钟。效果同上,只不过只对当前网站生效。

2、身份认证-Forms-Cooke超时,选择"12:00:00",即12个小时。可选项共有以下八项:

00:15:00

00:30:00

01:00:00

02:00:00

04:00:00

08:00:00

12:00:00

1:00:00:00

即最长24小时,最小15分钟。这是默认的配置。在应用中可以自由定制。

三、应用程序级

同网站管理,只不过作用域仅限当前应用程序。

四、页面级

在某页面中,设置Session.Timeout = 30;即可临时修改某页面的会话过期时间。

查看某个Session的过期时间,可以用

view plaincopy to clipboardprint?
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); 
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);

其中,二和三的设置,体现在Web.config中即:

view plaincopy to clipboardprint?
<?xml version="1.0"?> 
<configuration> 
<system.web> 
<authentication mode="Forms" > 
<forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/> 
</authentication> 
<sessionState mode="InProc"  cookieless="false" timeout="20" /> 
</system.web> 
<location path="Login.aspx"> 
<system.web> 
<authorization> 
<allow users="*" /> 
</authorization> 
</system.web> 
</location> 
</configuration>  
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms" >
<forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/>
</authentication>
<sessionState mode="InProc"  cookieless="false" timeout="20" />
</system.web>
<location path="Login.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration> 

以上四处设置的优先级为页面级>应用程序级>网站级>服务器级。换句话说,如果页面设置为20分钟,网站设置为120分钟,那么,显然以20分钟为生效的过期时间。

另外一个值得注意 的地方。

在设置二处,设置会话超时(SessionState)120分钟,而同时用forms认证,设置为“00:15:00”,即15分钟,并且slidingExpirationo为false,则真正生效的Session过期时间是多少呢?

有效的结果是SessionState的设置,即120分钟。

如果有设置Session过期时间没有生效的,请检查以上几处配置。

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助!   3w@live.cn

分享到:
评论

相关推荐

    在ASP.NET中,设置Session的过期时间的方法

    方法一:  在后台应用程序中设置:Session.Timeout = 1;  注意:1、此方法可以设置在一个... 您可能感兴趣的文章:php 如何设置一个严格控制过期时间的sessionjava设置session过期时间的实现方法php中实现精确设置se

    ASP.NET中Session实现原理浅析

    2. **Cookie或隐藏字段**:通常,服务器通过设置一个名为ASP.NET_SessionId的Cookie来跟踪客户端的会话。这个Cookie包含了服务器用来识别会话的唯一ID。如果客户端禁用了Cookie,ASP.NET还可以通过URL重写技术将...

    几种判断asp.net中session过期方法的比较

    本文将详细探讨几种常见的***中session过期判断方法,并对它们进行比较分析。 首先,最常见的方法是在每个页面的Page_Load()方法中进行session过期判断。这种方法在每次页面加载时都会执行一次session检查,虽然...

    ASP.NET中 Session、Application、Cookie的使用

    Session是ASP.NET提供的一种在用户会话期间存储用户特定数据的方法。当用户打开一个网站并开始浏览时,一个新的Session就会被创建。每个Session都有一个唯一的ID,这个ID通过cookie(默认)或者URL重写等方式发送到...

    asp.net 的Session数据库存储方式

    在ASP.NET中,Session是一种用于跨页面请求保持用户状态的技术,它允许开发人员在服务器端存储用户特定的信息。然而,默认情况下,Session数据是存储在内存中的,这可能会导致一些问题,比如当应用程序需要处理大量...

    在asp.net中使用session常见问题集锦

    ### 在ASP.NET中使用Session常见问题集锦 #### Session为何会丢失? 在ASP.NET应用程序中,用户的状态(Session)有时会出现丢失的情况。这种情况的发生可能是由于多种原因造成的,比如应用程序池的回收、Session...

    asp.net中使用session 实现的一个购物车

    在ASP.NET中,Session是一个关键的特性,它用于存储用户在浏览网页过程中的状态信息,例如用户登录状态、购物车内容等。本资源将介绍如何利用Session来实现一个购物车功能,特别地,这个购物车是通过链表结构来管理...

    .net 和IIS7.5关于Session超时的设置

    除了在`web.config`文件中全局设置外,你还可以在特定的ASP.NET页面中或者在代码逻辑中动态设置Session的超时时间,如下所示: ```csharp Session.Timeout = 60; ``` 这行代码会在当前页面上下文中设置...

    asp.net购物车(cookie、session两种实现方式)

    在ASP.NET中,每个用户都有一个唯一的SessionID,服务器通过这个ID来识别和跟踪用户。当用户添加商品到购物车时,这些信息被存储在服务器的Session对象中。这种方式能存储更多数据,且对用户更安全,因为数据不会...

    asp.net下session的使用

    ASP.NET中的Session是Web应用程序中一种非常重要的状态管理机制,它允许开发者在多个网页之间保持用户的特定信息。Session主要用于解决HTTP协议无状态的问题,确保用户在浏览网站时能维持其个性化设置、购物车数据或...

    欧柏泰克:asp.net中session的用法

    在ASP.NET中,Session是一个非常重要的概念,它用于在用户的不同请求之间保持状态信息。Session对象允许开发者存储和检索特定用户的变量,即使用户在网站上导航到不同的页面,这些信息也能被保留。在JSP中,Session...

    asp.net做的购物车session

    5. **管理购物车状态**:为了防止Session过期导致购物车数据丢失,可以设置合适的Session超时时间,并提供恢复购物车内容的选项。此外,还可以考虑在用户登录后将购物车数据与用户账户关联,这样即使Session失效,...

    一个基于 ASP.Net的进行Session 处理的高级技巧程序例子代码

    ASP.NET中的Session是Web应用程序中用于存储用户特定信息的关键机制,它允许开发者在用户的不同页面请求之间保持数据。Session处理是构建动态、交互性强的网站的重要组成部分,尤其是在处理用户登录状态、购物车信息...

    ASP.NET源码——[电子商务].Net Session购物车示例.zip

    4. **Session管理**:为了防止过多的数据存储在Session中导致内存占用过高,需要设置合理的Session过期时间。此外,还要处理用户突然关闭浏览器或取消会话的情况,确保购物车数据的安全和准确性。 在实际开发中,...

    ASP.NET查询条件保存Session中

    总结来说,ASP.NET的Session机制为我们提供了一种有效的方法来保存用户查询条件,使得用户在浏览网站时能保持其个性化设置。然而,合理使用和管理Session至关重要,以免对服务器资源造成过度消耗。同时,开发者应...

    ASP.NET Core-Session

    ASP.NET Core Session是微软开发的一种在Web应用程序中存储和管理用户会话状态的技术。它允许开发者在用户浏览器的不同请求之间保持数据,这对于实现购物车、用户登录状态等常见功能至关重要。在ASP.NET Core中,...

    详解ASP.NET中Session的用法

    当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一...

    ASP.NET状态管理(Cookies,Session,ViewState,Application...)

    ASP.NET状态管理是Web开发中的核心概念,它用于在客户端和服务器之间持久化数据,确保用户在浏览网站时保持特定的上下文。本篇将详细探讨四种主要的状态管理技术:Cookies、Session、ViewState和Application。 **...

    十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备

    【SESSION与COOKIE】ASP.NET中的SESSION用于存储用户会话信息,而COOKIE用于持久化数据。写入SESSION和COOKIE时需要注意类型转换,读取时可以直接获取存储的值。通过设置COOKIE的过期时间,可以控制其有效期。 这个...

Global site tag (gtag.js) - Google Analytics