当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET中的会话超时

如何解决《ASP.NET中的会话超时》经验,为你挑选了6个好方法。

我在IIS 6.0中运行ASP.NET 2.0应用程序.我希望会话超时为60分钟,而不是默认的20分钟.我做了以下事情

    在web.config中设置

    在IIS管理器/网站属性/ ASP.NET配置设置中将会话超时设置为60分钟

    在应用程序池属性/性能中将空闲超时设置为60分钟.

我仍然在20分钟时获得会话超时.还有什么我需要做的吗?



1> HectorMac..:

你在使用Forms身份验证吗?

表单身份验证使用自己的超时值(默认为30分钟).表单身份验证超时会将用户发送到登录页面,会话仍处于活动状态.这可能看起来像您的应用程序在会话超时时提供的行为,从而容易将其中一个与另一个混淆.


    
          
    

    

将表单超时设置为小于会话超时的值可以为用户提供一个窗口,可以在其中重新登录而不会丢失任何会话数据.



2> Rama Subba R..:

在web.config文件中使用以下代码块.默认会话超时为80分钟.


 

使用以下链接进行会话超时和弹出警报消息.

会话超时示例

仅供参考:以上示例使用devexpress弹出控件完成,因此您需要使用正常的弹出控件自定义/替换devexpress弹出控件.如果您使用devexpress无需自定义



3> Dmitris..:

我不知道web.config或IIS.但我相信,从C#代码中你可以做到这一点

Session.Timeout = 60; // 60 is number of minutes


这只会调整当前会话的超时吗?或者这会调整整个应用程序的超时?

4> davidsleeps..:

这通常都是你需要做的......

你确定在20分钟之后,会话丢失的原因是因为闲置...

关于会议可能被清除的原因有很多.您可以为IIS启用事件日志记录,然后可以使用事件查看器查看会话被清除的原因...您可能会发现它可能是出于其他原因?

您还可以阅读事件消息和相关事件表的文档.



5> 小智..:

在我的情况下,它是应用程序池.它被设置为在空闲xx分钟时重新启动.当我将其设置为不重新启动时,它似乎使用来自Web Config的值.



6> Cᴏʀʏ..:

你在machine.config中有什么可能生效吗?在web.config中设置会话超时应覆盖IIS或machine.config中的任何设置,但是,如果应用程序的子文件夹中有某个web.config文件,则该设置将覆盖应用程序根目录中的设置.

另外,如果我没记错的话,IIS中的超时只会影响.asp页面,而不会影响.aspx.您确定web.config中的会话代码是否正确?它应该看起来像:


推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有