网站发布到虚拟主机上,服务器用的IIS7,登陆网站操作,session保存时间好像非常短,经常点击按钮或者是跳转页面时,就是丢失session,我们用IIS5.0发布在公司局域网中运行,从来没有出现过这样的问题。麻烦高手解答一下。

解决方案 »

  1.   

    有高手解答一下吗?有时还会报。Sys.WebForms.PageRequestManagerServerErrorException:验证视图状态MAC失败。如果此应用程序由网络场和群集承载,请确保<machineKey>配置指定了相同的 validationKey 和 验证算法。不能在群集中使用 AutoGenerate
      

  2.   

    Session超时和莫名丢失的处理
    原因:
    1.改动global.asax  webconfig  bin  目录里的东西,导致Web Application重启
    2.有些杀毒软件会去扫描webconfig文件,也会导致Session丢失
    3.服务器内存不足导致Session丢失
    4.程序内部有让Session丢失的代码
    5.程序有框架页面和跨域情况
    解决:
    1.修改webconfig中timeout的时效时间
    2.建议让网站使用独立的应用程序池
    3.iis设置Session超时时间(默认为20分钟)
    4.在应用程序池上打开网站对应的应用程序池属性,将web数量改为1 重启iis
    5.在主页里面嵌套一个框架页iframe,设置宽度高度为0.在里面的加载页面里的
    <head>里面加入<meta http-equiv="refresh" content="1080">这一句,意思是每隔18分钟向服务器发送一次请求。刚好赶在Session失效之前。这样session就永不失效了
      

  3.   


    IIS7怎么感觉session随时都会丢,根本没有默认的20分钟,
    有时点击按钮操作和页面跳转操作都会丢失session
      

  4.   


    现在我们是内部测式,挂在一个虚拟主机上的,是个主享服务器,里面有很多网站
    这样有什么可能导致session丢失吗?  他用的是IIS7,我们是用VS08开发的。。
      

  5.   

    不会吧,我今天弄了几个网站,没事儿呀,IIS7,vs2005,到现在没发现有报错的返馈呢
      

  6.   


    也不太清楚是什么问题。我们在内网发布就没有发现过这种问题,发布到这个虚拟机测式,就出现了
    这样丢session的问题
      

  7.   

    你做了负载均衡,当集群指定访问网站的时候,如果你用作Session的站点服务器,不是你那当前访问网站的服务器,那么Session丢失是必须的
      

  8.   

    是否使用同一个应用程序池,丢失问题很多 
    改成    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20" /ASP.Net的 runat='server' 会对ViewStat进行MAC的加密,使得提交数据时只能对同一页面进行。 
    1 在接收页加上 @ page EnableViewStateMac="false" 
    或者 enableEventValidation="false" viewStateEncryptionMode ="Never"  
    也可以在web.config的节点里加入: 
    <system.web> 
        <pages  enableEventValidation="false" viewStateEncryptionMode="Never" /> 
    </system.web> 
    2 配置matchineKey 
    <system.web> 
        <machineKey validation="3DES" validationKey="319B474B1D2B7A87C996B280450BB36506A95AEDF9B51211" 
    decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A87" decryption="3DES"/> 
    </system.web> 
      

  9.   

    其实最准确的应该是服务器负荷高,内存或其它资源非常紧张,在很短时间内就频繁回收资源.session有效期就很短了.如果空间商不能解决,估计你只能换别家的空间商了.或者改程序代码,譬如改为cookie存值.
      

  10.   

    我也碰到过这样的问题,解决的方法是用数据库保存session
    参照:http://www.diybl.com/course/4_webprogram/asp.net/netjs/20090304/158092.html