Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET会话超时问题_Asp.net - Fatal编程技术网

ASP.NET会话超时问题

ASP.NET会话超时问题,asp.net,Asp.net,我的一个ASP.net应用程序中有一个有线场景 我将ASP.net成员身份与我的自定义“roleManager”一起使用 并且在web.config中具有以下标记,以限制任何不具有“关键字”(角色)角色的用户访问“关键字”(路径)文件夹 如果任何具有其他角色的用户允许评估此URL(本例中为关键字),则将重定向到自定义访问被拒绝页面 现在一切正常,但当我离开我的应用程序30分钟不活动时,我无法访问“关键字”,每次我都会看到自定义访问被拒绝的页面,如果我关闭浏览器,再次登录,它就会正常工作 请帮

我的一个ASP.net应用程序中有一个有线场景

我将ASP.net成员身份与我的自定义“roleManager”一起使用

并且在web.config中具有以下标记,以限制任何不具有“关键字”(角色)角色的用户访问“关键字”(路径)文件夹


如果任何具有其他角色的用户允许评估此URL(本例中为关键字),则将重定向到自定义访问被拒绝页面

现在一切正常,但当我离开我的应用程序30分钟不活动时,我无法访问“关键字”,每次我都会看到自定义访问被拒绝的页面,如果我关闭浏览器,再次登录,它就会正常工作

请帮我解决这个问题


提前感谢

我认为ASP.NET会话默认在20分钟后超时

您可以通过在Web.config中指定更长的时间(以分钟为单位)来扩展此功能:

<system.web>
    <sessionState timeout="60"/>
    ...
</system.web>

...
如果您是通过表单进行身份验证,则应提高身份验证cookie超时值以匹配


还要记住,在IIS下运行站点时,可能应该将应用程序池的空闲超时扩展到类似的情况。如果不执行此操作,ASP.NET站点的HttpApplication实例将被卸载,从而销毁此过程中的所有活动会话。

通常,第一件也是最简单的事情就是更改配置/system.web/sessionState@timeout“90”之类的值

<sessionState timeout="90" />

20分钟后它似乎仍在超时。 *这没有任何意义,它明确表示会话超时应该正好是90分钟*

这里有几个问题联系在一起:

  • 应用程序池的工作进程默认空闲超时也是 设置为20分钟
  • 存储会话状态的默认模式是在IIS进程中
  • 通过单击应用程序分配到的应用程序池上的属性(IIS 6)或高级设置(IIS 7.5),可以找到应用程序池的设置

    确保将“空闲超时(分钟)”的值设置为会话的超时,至少设置为(ex 90),以确保所有会话在整个会话超时期间保持不变

    如果仍然存在问题,请尝试此解决方案。请参阅本文,告诉您更多尝试的选项


    您是否使用FormsAuthentication登录?如果是,您是否已检查是否已为用户重新加载cookie?我还添加了设置timeout=“365”我的网络配置中的inside元素。一切正常,但当我将会话打开超过30分钟时,它不允许我访问我在location tag中设置的页面,但当我尝试将其设置为正常工作时。我需要bcos,它将限制任何没有角色的用户访问我的文件夹。你为什么期望会话以某种方式工作超出其超时值?Joe首先让我感谢您的快速回复,我上次忘记了!当我的会话超时时,如果用户单击任何链接(服务器请求),她将重定向到登录页面,在提供凭据后,我使用request.QueryString[“ReturnUrl”]将她重定向回正在处理的页面。但是,当她再次登录时,她将获得我的自定义访问被拒绝页面,即使在同一IE浏览器的新选项卡中,用户也无法访问该页面,她必须关闭窗口!:-(
    <sessionState timeout="90" />