“/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
10 个解决方案
#1
Thread.Sleep(2000);
调试!认真的调试! 仔细的调试!
调试!认真的调试! 仔细的调试!
#2
想必你使用的是VS2010了,系统应该是XP了
我已经N次出现过了,没办法,每次都得把VS关了,然后再打开。。。。
我已经N次出现过了,没办法,每次都得把VS关了,然后再打开。。。。
#3
文件在使用过程中,是肯定不能被删除的.
#4
上面是错误的信息,
最近在做一个项目时,涉及到图片的上传和修改,点击修改图片按钮时,刚开始几次修改没有出现问题,修改几次后,问题就出现了。
楼上说的Thread.Sleep(2000);
我也调试过,还是出现了那个问题
出现的问题的原因如楼上所说,当前的文件,图片正在使用,点击修改引发的进程是无法访问该文件的。
我想问下,对这样的问题,有没有什么好的解决方案
最近在做一个项目时,涉及到图片的上传和修改,点击修改图片按钮时,刚开始几次修改没有出现问题,修改几次后,问题就出现了。
楼上说的Thread.Sleep(2000);
我也调试过,还是出现了那个问题
出现的问题的原因如楼上所说,当前的文件,图片正在使用,点击修改引发的进程是无法访问该文件的。
我想问下,对这样的问题,有没有什么好的解决方案
#5
用一个static object变量来标记作为互斥量.
当A线程在使用的时候lock
lock(your-static-object)
{
//do something... ...
}
当B线程在使用的时候也Lock
lock(your-static-object)
{
//do something... ...
}
这样就使得永远只有一个线程在操作某个图片了.
当A线程在使用的时候lock
lock(your-static-object)
{
//do something... ...
}
当B线程在使用的时候也Lock
lock(your-static-object)
{
//do something... ...
}
这样就使得永远只有一个线程在操作某个图片了.
#6
adfsdfs
#7
关掉,重启是王道
#8
FileStream操作文件
再close关闭
再close关闭
#9
好像没有什么办法,只有关掉VS,重新执行
#10
#1
Thread.Sleep(2000);
调试!认真的调试! 仔细的调试!
调试!认真的调试! 仔细的调试!
#2
想必你使用的是VS2010了,系统应该是XP了
我已经N次出现过了,没办法,每次都得把VS关了,然后再打开。。。。
我已经N次出现过了,没办法,每次都得把VS关了,然后再打开。。。。
#3
文件在使用过程中,是肯定不能被删除的.
#4
上面是错误的信息,
最近在做一个项目时,涉及到图片的上传和修改,点击修改图片按钮时,刚开始几次修改没有出现问题,修改几次后,问题就出现了。
楼上说的Thread.Sleep(2000);
我也调试过,还是出现了那个问题
出现的问题的原因如楼上所说,当前的文件,图片正在使用,点击修改引发的进程是无法访问该文件的。
我想问下,对这样的问题,有没有什么好的解决方案
最近在做一个项目时,涉及到图片的上传和修改,点击修改图片按钮时,刚开始几次修改没有出现问题,修改几次后,问题就出现了。
楼上说的Thread.Sleep(2000);
我也调试过,还是出现了那个问题
出现的问题的原因如楼上所说,当前的文件,图片正在使用,点击修改引发的进程是无法访问该文件的。
我想问下,对这样的问题,有没有什么好的解决方案
#5
用一个static object变量来标记作为互斥量.
当A线程在使用的时候lock
lock(your-static-object)
{
//do something... ...
}
当B线程在使用的时候也Lock
lock(your-static-object)
{
//do something... ...
}
这样就使得永远只有一个线程在操作某个图片了.
当A线程在使用的时候lock
lock(your-static-object)
{
//do something... ...
}
当B线程在使用的时候也Lock
lock(your-static-object)
{
//do something... ...
}
这样就使得永远只有一个线程在操作某个图片了.
#6
adfsdfs
#7
关掉,重启是王道
#8
FileStream操作文件
再close关闭
再close关闭
#9
好像没有什么办法,只有关掉VS,重新执行