某些机器会出现下载不到最新文件,就是服务器上之前有一个版本的文件,当你把那个文件覆盖了,某些机器下载的还是老版本的,某些机器就是新版本的,不知道这个问题怎么解决,还望各位仁兄相助。

解决方案 »

  1.   

    cmd->iisreset更新完重启一下iis
      

  2.   

    别说重起iis了,服务器我都重起了也不行,代码上就是一个链接。服务器配置有问题?代码有问题?有没有人遇到过?
      

  3.   

    看不明白你到底是要说什么?  VSS???   版本覆盖器?  还是什么?
      

  4.   

    不是ie缓存问题,关掉ie重新打开不行,删除临时文件清楚cookie不行,重起机器不行,服务器重起都不行,再说我也不能因为某个用户无法下载新版本的文件就去重起服务器吧?hecong875 ()发表于:2008-10-13 13:02:207楼 
    看不明白你到底是要说什么?  VSS???  版本覆盖器?  还是什么? 就是一个文件,定期任务会将这个文件以覆盖的方式更新,供用户下载使用,明白?
      

  5.   

    Jack_xiao ()发表于:2008-10-13 13:04:418楼 
    以前遇到过这种问题,清了缓存就好了, 
    如果不采取覆盖的方式,而是先删除原文件,再拷贝新文件? 
     
    最nb的是把服务器上的文件删除,然后客户端依然能下载那个老版本的文件。我并没采取一些其他特殊手段进行测试,但是这种情况已经说不过去了,缓存肯定是缓存问题,但基本的清除手段已经不管用了,我在想是否可以通过服务器配置或是修改代码来避免这个漏洞。如果这种情况一但出现在某个客户身上,我没办法给他解释。
      

  6.   

    你把最新传上去的文件名后面加上一个日期,再删除以前的文件,在客户端程序下载的时候,先按文件名称查找服务器上的最新文件,再下载。
    比如说原有文件名为"aa",今天传上去的话,文件名就变更为"aa10131704",下载的时候就先找文件名包含aa,且时间是最新的,然后把地址传给客户端
      

  7.   

    如果服务器上文件删除了,客户机还能访问下载,那就应该是客户机指向的服务器文件并不是那个文件。仔细检查网络文件,还有客户机的hosts文件,ip指向等等其他信息。
      

  8.   

    要是文件不大的话,用Stream流来实现下载的功能吧,看这个会不会出现这种情况
      

  9.   

    我觉得这玩意可能是iis或是浏览器的漏洞,缺哪个补丁了,或是不同地址传输出的问题,
    不过在我看来出现问题的最大可能是windows系统漏洞,大家知道,文件删除其实并不是将硬盘中的存储文件清0
    而是把指向这个文件的地址清0,那么覆盖就是把这个地址指向了你新写入到硬盘的地址,而老地址可能就缓存到
    iis中,然后当下载的时候由于不同的机器发起请求时,iis错误的把老地址给了某些请求有异的用户,至于
    这两个机器发出了什么样不同的请求我猜不到,但如果从这着手,解决问题应该指日可待。大家认为我想法有问题吗?以上内容纯属凭空猜测,学习者请速忘。