FileStream не закрывает файл - PullRequest
       31

FileStream не закрывает файл

8 голосов
/ 10 ноября 2011

У меня есть следующий код:

using (MemoryStream str = new MemoryStream())
      {
             Program.api.GetDocument(result, str);
             using (FileStream fileStream = File.Create(filePath))
             {
                    str.WriteTo(fileStream);
             }
      }

Всякий раз, когда файл записывается, он всегда блокируется - попытка удалить или изменить его заставляет Windows сообщать мне, что файл используется, даже после закрытия моего приложения. Я что-то упустил?

1 Ответ

1 голос
/ 10 ноября 2011

Ваша проблема, скорее всего, вызвана индексированием поиска Windows, которое является частью Поиск Windows .Если вы попытаетесь получить доступ к файлу сразу (или очень скоро) после его изменения, вы можете столкнуться с проблемами, которые вы видите.Лучший способ обойти это - добавить логику повторения к выполняемой вами операции с файлом, которая ждет небольшой промежуток времени и повторяет попытку файла. Op.

Если вы хотите подтвердить, что причина проблемыс помощью индексирования поиска файлов Windows вы можете отключить его для типа файла и / или местоположения, в которое вы записываете файл , чтобы проверить, устранит ли это проблему.

...