在asp中,默认的会话过期时间是20分钟,这在很多情况下是不够的。今天有很多客户会再次登录,为了方便有需要的朋友,我准备了这篇文章。
如果程序中没有设置会话的过期时间,则会话的过期时间将根据IIS设置的过期时间执行。IIS中会话的默认过期时间是20分钟,IIS中的会话时间可以更改。
时间设置要放在前面
例如,复制代码如下:Session。超时=30分钟。超时在30分钟内有效。会话(' id')=RS ('id ')会话(' name')=RS ('name ')会话(' pass')=RS ('pass '
利用 Session.Timeout 属性设置超时时限
对于一个登录ASP应用的用户来说,如果用户在系统默认的时间内没有进行任何其他操作,那么在设定的时间到来时,这个用户的会话就会被自动撤销,从而防止系统资源的浪费。Session对象的TimeOut属性可以用来设置“过期时间”,以分钟为单位,其设置格式为:
复制代码如下:Session。TimeOut=MaxTime实例代码:(5.asp)页面。这个例子展示了如何控制会话的结束。复制代码如下:% @ language=' VBScript ' % % Session . time out=60% htmlheadttitle控制Session/title head body % who=Session的结束时间。SessionID CurrentPage=请求。server variables(“SCRIPT _ NAME”)响应。appendo to Who ':' current page response . write ' center您的会话ID是:' who 'p' Response.write '您当前访问的页面路径是:' current page ' p ' if Session('I ')=' ' then Session(' I ')=1 Session(' I ')=1 end if Session . abandon response . write '此页面已被您刷新' Session(' I ')'次。/百分比
在Asp.net的应用中,很多人会遇到会话失效设置的冲突。其中,您可以在四个位置设置会话的到期时间:
一、全球网站(即服务器)层面
IIS -网站-属性-ASP . net-编辑配置-状态管理-会话超时(分钟)-设置为120,即2小时,即120分钟后,如果当前用户不做任何事情,会话将自动过期。
第二,网站层面
IIS -网站专用网站(如演示站点)-属性-Asp.net,有两个选项,一个是“编辑全局配置”,一个是“编辑配置”。如果您编辑全局配置,它将与上次配置相同。如果您编辑配置,它将仅对当前网站生效。因为一个服务器可能有很多独立的网站。1.继续选择“状态管理”-会话超时(分钟)-设置为360,即360分钟。效果同上,只是只在当前网站生效。2.身份验证表单Cooke超时。选择“12:00:00”,即12小时。有八个选项:00:15:00 00:30:00 01:00:00 02:00:00 04:00:08:00:00 12:00:00 1:00:00,即最长为24小时,最小为15分钟。这是默认配置。在应用中可以自由定制。
三、应用程序级 同网站管理,但范围仅限于当前应用。
四。页面级别
在页面中,设置会话。超时=30;您可以临时修改页面的会话到期时间。要查看会话的过期时间,可以复制如下代码:timespan Session time out=new timespan(0,0,system . web . httpcontext . current . Session . time out,0,0);TimeSpan sess time out=new TimeSpan(0,0,System。web . httpcontext . current . session . time out,0,0);其中二和三的设置体现在Web.config中,即复制代码如下:查看plaincopy到clipboardprint?xml版本='1.0 '?configuration system . web authentic ation mode=' Forms ' Forms name=' authlog in ' log in URL='/log in . aspx ' protection=' All ' time out=' true '//authentic ation session state mode=' in proc ' cookieless=' false ' time out=' 20 '//system . web location path=' log in . aspx ' system . web authorization allow users=' * '//authorization/system . web/location/configuration?xml版本='1.0 '?配置system . web authentic ation mode=' Forms ' Forms name=' authlog in ' log in URL='/log in . aspx ' protection=' All ' time out=' true '//authentic ation session state mode=' in proc ' cookieless=' false ' time out=' 20 '//system . web location path=' log in . aspx ' system . web authorization allowUsers=' * '/authorization/system . web/location/configuration以上四处设置的优先级是页面级应用程序级网站级服务器级换句话说,如果页面设置为20分钟,网站设置为120分钟,那么,显然,20分钟就是有效到期时间。
另一个值得注意的地方。
第二个设置中,会话状态设置为120分钟,同时通过forms认证,设置为“00:15:00”,即15分钟,slidingExpirationo为false。实际的会话到期时间是多少?
有效的结果是SessionState的设置,即120分钟。
如果设置的会话到期时间无效,请检查上述配置。
在互联网上找到的其他方法
1.操作系统:Widnows Server 2003步骤:开始—— >管理工具——Internet信息服务(IIS)管理器3354 >网站3354 >默认网站3354 >右键单击属性3354 >主目录3354 >配置3354 >选项3354 >启用会话状态。只是确认一下。2.在ASP.NET应用程序中设置会话到期时间在像ASP.NET这样的Web应用程序中,会话是保存用户状态的常用方法。但由于服务器内存空间有限,需要设置会话过期时间。如何设置ASP.NET会话的到期时间?很简单。修改web.config配置。具体修改方法如下。在web.config中做如下配置,复制代码code如下:system . web Session state mode=' in proc ' time out=' 30 '//system . web这里的意思是Session的过期时间是30分钟。也就是说,如果当前用户30分钟后没有操作,那么会话将自动过期。3.在cs页面调用会话中,在Load事件中编写以下复制代码,如下所示:超时=30;4、ASP.NET状态服务中的会话复制代码如下:会话状态cookieless=' false ' time out=' 480 ' mode=' stateserver ' stateconnectionstring=' tcpip=127.0。0.1:42424“sqlConnectionString=”数据源=127 . 0 . 0 . 1;用户id=sa密码=' /
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。