多年来一直在努力解决这个错误。下面是代码是问题
for ( Int32 Counter = 0; Counter < x.Rows.Count; Counter++)
{
using (FileStream bitmapFile = new FileStream(@"c:/someOlddir/file1.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (Bitmap uploadedbitmap = new Bitmap(bitmapFile))
{
using (System.Drawing.Image uploadedbitmapResized = ExtensionHelpers.Resize(uploadedbitmap, 800, 600, RotateFlipType.RotateNoneFlipNone))
{
uploadedbitmapResized.Save(@"c:/someNewdir/file1.txt",System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
/*errror occurss on this line */
File.SetCreationTime(@"c:/someNewdir/file1.txt",someDateTimeVariable);
}
我在使用此代码时遇到的问题是它适用于集合中的前 30 或 40 张图像,但是当我达到 50 或 60 时,我收到一条错误消息,指出我正在尝试将日期时间设置为的文件正在被另一个进程使用。但是这个错误只发生在我迭代一个大集合并且在迭代中的第 40 或第 50 个位置时,前 30 个图像工作得很好,然后突然一个文件现在被一个进程锁定了。我在 using 语句中拥有一切,但这个错误仍然存在。
我是否必须要等到文件保存后再访问它,但这不应该是这种情况,因为我是先保存文件然后再尝试访问它。代码有什么问题?