• ASP SESSION莫名其妙丢失的原因及解决方法


    哪些情况下该进程会重起呢?微软的一篇文章告诉了我们:
    1、Global.asax或者Web.config文件被更改
    2、Bin文件夹中的Web程序(DLL)被修改
    3、杀毒软件扫描了一些.config文件。
    4、有的页面,不小心把using System.Web.SessionState;给删除了
    5、删除了其中的文件夹,ASP。NET会重启,丢失SESSION
    6、判断session存在的方法不能是静态方法

    也就是说 asp.net 会监视应用程序目录,一但有被监视
    的动作发生(比如:修改了config、重命名目录等)应用程序就会自动重起
    当然这时你的session一定丢失了。

    asp的Session是具有进程依赖性的。ASP Session状态存于IIS的进程中,也就是inetinfo.exe这个程序。所以当inetinfo.exe进程崩溃时,这些信息也就丢失。另外,重起或者关闭IIS服务都会造成信息的丢失。

    文件夹选项中,如果没有打开“在单独的进程中打开文件夹窗口”,一旦新建一个窗口,系统可能认为是新的Session会话,而无法访问原来的Session,所以需要打开该选项,否则会导致Session丢失

    另外注意

    1当页面中是否了frameset,发现在每个frame中显示页面的SessionID在第一次请求时都不相同

    2WINDOW.showDialog和window.open也有时会出现这个问题

    3重定向也会有时出现这个问题


    解决方法:
    可以把SESSION用STAT SERVER来保存。STAT SERVER默认是不启动的。设成自动启动

    但看网上,这个方法也不是能百分百解决问题,但至少使问题少了许多。

  • 相关阅读:
    下拉菜单得经典写法html5
    QQ空间开放平台开发教程-SDK和API的使用
    PHP 性能分析第一篇: Xhprof & Xhgui 介绍
    Linuxshell脚本之if条件判断
    XHProf的安装和使用(PHP性能测试神器)
    hibernate中validate的使用(转)
    having和where的区别
    关于项目中参数传递的问题
    Service中事务不能回滚的解决方式(转)
    ajaxsearch要点1
  • 原文地址:https://www.cnblogs.com/skyakira/p/780243.html
Copyright © 2020-2023  润新知