为了跟踪上传文件进度,我在用户点上传按钮时通过服务器代码按字节写入临时文件,并将当前写入多少字节保存在Session中。同时在浏览器通过js函数setInterval,定时执行WebService,WebService函数名为GetStatus(),该函数需要读取Session保存的字节数获取上传状态。问题在于,如果Session采用设置Inproc,程序正常执行,能够读取到上传百分数。但是如果采用保存到StateServer或SQLServer,断点跟踪显示Session始终为空,搞了一上午都没解决问题,高手帮忙啊!

解决方案 »

  1.   

    采用statusserver或sqlserver,好像要在webconfig设置cookieless为false,
      

  2.   

    Session是采用cookie跟踪的,这个没有问题。问题在于inproc模式可以访问,stateserver和SQLServer不行
      

  3.   

    那只是保存Seission的方式
    默认情况下是InProc, 即保存在IIS进程中
    显示文件上传进度有很多方法,是否需要这样
    怎么处理的
      

  4.   


    回楼上朋友:这种方法应该没有问题吧,SESSION存储在IIS进程中访问没有问题,脚本和webservice运作正常。问题就是出在状态服务器和SQLSERVER上,我也知道这仅仅是保存的方式不同而已,但我不清楚为什么换一种方式SESSION就不能访问了。