当前位置:编程学习 > C#/ASP.NET >>

彻底郁闷了!第二次执行File.Move()时,总会说“文件正由另一进程使用,因此该进程无法访问该文件。”

   

            try
            {                
                File.Move(strOldPath, strNewPath);
                return true;
            }
            catch (Exception ex)
            {
                strResult = ex.Message.Trim();
                return false;
            }


首先,我使用FileUpload控件的saveAs方法把文件上传到服务器。第二操作时,使用上面的代码对文件进程重命名。第三次操作时,再使用上面的代码对文件重命名。

我在用vs2008运行,完全没有问题,但是发布到IIS后,在进行第三次操作时,就会出错:“文件正由另一进程使用,因此该进程无法访问该文件。”搞得我完全没办法!

求高人指点! --------------------编程问答-------------------- 要把资源释放掉吧,再者文件也不能打开啊 --------------------编程问答-------------------- 要把资源释放掉 --------------------编程问答-------------------- FileUpload的saveAs是不需要释放的。

File.Move()我不知道怎么释放。
--------------------编程问答-------------------- 占楼看看 我也正用FileUpload --------------------编程问答-------------------- while(true) --------------------编程问答-------------------- 你的代码是用来重命名文件的,没有任何问题
最好检测一下iis环境 --------------------编程问答-------------------- 照你上面的代码,应该是文件在别的地方被引用了。多尝试几次就行了 --------------------编程问答-------------------- 补充一点,我用进程工具看到,是 aspnet_wp.exe占用着。 --------------------编程问答-------------------- thread延迟
相关进程 --------------------编程问答-------------------- 没遇到过

帮顶 --------------------编程问答-------------------- 可能那个文件还在被占用。。。 --------------------编程问答-------------------- 一定那个文件还在被占用 --------------------编程问答-------------------- 围观。。。 --------------------编程问答-------------------- 都他妈扯淡!都没说到实在的。你可以换FileStream()试试! --------------------编程问答-------------------- 检查你的代码,所有对文件进行操作的地方都要注意显式释放资源。
如果用了线程,也要注意线程同步 --------------------编程问答-------------------- 同意14楼的,用filestream试试 --------------------编程问答-------------------- 第二次和第三次之间做了什么操作?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,