C# 文件正由另一进程使用,该进程无法访问该文件

inmyownsky1 2010-06-17 03:23:41
错误信息
“/accidentManage”应用程序中的服务器错误。
--------------------------------------------------------------------------------

文件“C:\Documents and Settings\Administrator\桌面\accidentManage\accidentManage\accidentManage\projectFile\大概的风格\2010-6-17-15-19-20-593.jpg”正由另一进程使用,因此该进程无法访问该文件。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IO.IOException: 文件“C:\Documents and Settings\Administrator\桌面\accidentManage\accidentManage\accidentManage\projectFile\大概的风格\2010-6-17-15-19-20-593.jpg”正由另一进程使用,因此该进程无法访问该文件。

源错误:


行 259: //File.Delete(this.Server.MapPath("projectFile/" + projectTable.Rows[0]["F_PROJECT_NAME"].ToString() + "/") + img2);
行 260: Thread.Sleep(2000);
行 261: File.Delete(this.Server.MapPath("projectFile/" + projectTable.Rows[0]["F_PROJECT_NAME"].ToString() + "/") + picTable.Rows[0]["F_PIC_FILE"].ToString());
行 262: }
行 263: Response.Write("<script>alert('修改成功!');location.href='picList.aspx?projectId=" + projectId + "'</script>");


源文件: c:\Documents and Settings\Administrator\桌面\accidentManage\accidentManage\accidentManage\picList.aspx.cs 行: 261
...全文
2040 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻想多巴胺 2010-06-18
  • 打赏
  • 举报
回复
东莞寻香苑 2010-06-17
  • 打赏
  • 举报
回复
好像没有什么办法,只有关掉VS,重新执行

wuyq11 2010-06-17
  • 打赏
  • 举报
回复
FileStream操作文件
再close关闭
宇峰科技 2010-06-17
  • 打赏
  • 举报
回复
关掉,重启是王道
Jack123 2010-06-17
  • 打赏
  • 举报
回复
adfsdfs
鸭梨山大帝 2010-06-17
  • 打赏
  • 举报
回复
用一个static object变量来标记作为互斥量.
当A线程在使用的时候lock
lock(your-static-object)
{
//do something... ...
}
当B线程在使用的时候也Lock
lock(your-static-object)
{
//do something... ...
}
这样就使得永远只有一个线程在操作某个图片了.
inmyownsky1 2010-06-17
  • 打赏
  • 举报
回复
上面是错误的信息,
最近在做一个项目时,涉及到图片的上传和修改,点击修改图片按钮时,刚开始几次修改没有出现问题,修改几次后,问题就出现了。
楼上说的Thread.Sleep(2000);
我也调试过,还是出现了那个问题
出现的问题的原因如楼上所说,当前的文件,图片正在使用,点击修改引发的进程是无法访问该文件的。


我想问下,对这样的问题,有没有什么好的解决方案
guyehanxinlei 2010-06-17
  • 打赏
  • 举报
回复
文件在使用过程中,是肯定不能被删除的.
諾临風 2010-06-17
  • 打赏
  • 举报
回复
想必你使用的是VS2010了,系统应该是XP了
我已经N次出现过了,没办法,每次都得把VS关了,然后再打开。。。。
jxw620 2010-06-17
  • 打赏
  • 举报
回复
Thread.Sleep(2000);

调试!认真的调试! 仔细的调试!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧