在服务器端用com方法动态生成一个excel对象,保存于文件。然后将文件使用response.writefile的方法发回客户端显示。如果excel保存为固定文件名,正常情况应该是:1、a用户生成文件f,
2、response.writefile(f) to a用户
3、b用户生成文件f
4、response.writefile(f) to b用户多个用户同时访问的时候会不会出现执行顺序变为
1,3,2,4造成a用户看到实际上是b用户生成的文件,
如果存在该问题又怎么解决?

解决方案 »

  1.   

    response.writefile(f) 时候 用同步 传输  不要用异步 保证在 1个用户 下载完 后才让另外各用户 来下 
    不过 response.writefile(f) 就是同步的 一般是 不会出现问题 的
      

  2.   

    asp.net是并发处理请求的,
    我见过使用Application.Lock()
    保证Application对象被多个线程访问时在线程内是安全的我感觉生成excle文件和response.writefile(f) 两个操作耗时较长,担心线程内是否安全
      

  3.   

    有没有办法不保存为文件,将excel对象直接response过去?