• WEB项目挂载到IIS session过期



    莫名丢失问题:

    1.可能是因为系统内部连续的抛出了5次以上的异常 导致进程重启(当前所有在线用户)

    2.IIS6 以上默认配置进程,session存在进程内其实是在W3wp.exe中这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。

    3.内存不足倒是的iis自动的收回机制

    自动过期:

    这里自动过期指的是我明明设置了时间 但是过期时间不是我设置的。例如设置了120分钟 但是20分钟就过期了。(首先这是因为iis默认的闲时超时是20分钟)

    自动过期会在一下情况下发生(微软解释):

    • 使用进程内会话状态模式时,如果aspnet_wp.exe或应用程序域重新启动,会话状态数据将丢失。这些重新启动通常在以下情况下发生:
      • 在应用程序的Web.config文件<processModel>元素中设置一个属性,该属性会在满足条件时启动新进程,例如memoryLimit
      • Global.asax或Web.config文件已修改。
      • 对Web应用程序的 Bin目录的更改。
      • 防病毒软件扫描并修改Global.asax文件,Web.config文件或Web应用程序的 Bin目录中的文件。    
    • 如果在应用程序的Web.config文件<processModel>元素中启用Web园模式,请不要使用进程内会话状态模式。否则,可能发生随机数据丢失。

    这里挂载iis下存在两个概念:会话超时 和闲置超时 

    配置文件没有生效:这里就是两个感念的提现,一致时同等生效,闲置小于会话闲置为先,其实也不能说配置文件没有生效,因为II7以上版本的改动吧,其实配置文件中的值代表的就是会话状态中的值。

    其二注意会话超时存在两种一个存在与会话状态中,一个存在会话属性中,这两个很像但不是一个感念,一个针对的是session一个针对的是进程。

    解决办法:

    找到原因当然就好办了。设置对应时间就好了。

    设置闲置超时:

    点击应用程序池》点击选择项目程序池》高级设置》设置为自己的值

    会话超时会话状态的设置;

    网站》项目》会话状态》设置对应时间

    会话超时会话属性的设置;

    这里也就是我们如果没有做iis限制,但是配置文件设置了120,但是网站还是20分钟过期的地方:

    网站》ASP>设置时间

  • 相关阅读:
    Jumpserver之安装在CentOS主机步骤
    Nginx负载均衡后端健康检查(支持HTTP和TCP)
    Nginx负载均衡后端健康检查
    ELK之使用packetbeat分析网络包流量
    ELK之使用heartbeat监控WEB站点
    ELK之elasticsearch导致CPU居高不下系统慢解决办法
    Saltstack如何修改主机名或者minion id
    mac中使用 sourcetree 的快速配置和git服务器登录
    [转]从三层架构迈向领域驱动设计 — 关于领域设计中描述相对简要及明了的一篇文章
    io-nio 区别示意图
  • 原文地址:https://www.cnblogs.com/yanbigfeg/p/10036508.html
Copyright © 2020-2023  润新知