У меня есть служба, которая читает документ xml из каталога (работает нормально), сохраняет данные в sql (работает нормально), и после этого я копирую файл в каталог FINISHED (работает нормально) и удаляю файл (НЕ работает) из чтения каталога.ПРОБЛЕМА, которая у меня есть, заключается в том, что файл блокируется, когда я пытаюсь выполнить УДАЛЕНИЕ.Буду признателен за любой совет, чтобы я мог найти, где файл заблокирован.
static public Res GetResMn(string FileName)
XDocument root = null;
using (var file = new FileStream(FileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader oReader = new StreamReader(file, Encoding.GetEncoding("ISO-8859-1")))
{
root = XDocument.Load(oReader);
oReader.Close();
oReader.Dispose();
}
Вот код для копирования и удаления
void CopyFile(string FileToMove, string MoveLocation)
{
try
{
System.IO.File.Copy(FileToMove, MoveLocation, true);
//System.IO.File.Move(FileToMove, MoveLocation);
File.Delete(FileToMove);
}
catch (Exception e)
{
WriteLogFile("The process failed: {0} " + e.ToString());
}
}
Это код, когда я получаюзначения из файла
var myElement1 = root.Descendants(XName.Get("rnID", @"namespace.2.0")).FirstOrDefault();
if (myElement1 != null)
{
myRPr.rnID = root.Descendants(XName.Get("rnID", @"namespace.2.0")).FirstOrDefault().Value;
}
Это ошибка, которую я получаю в лог-файле
{0} System.UnauthorizedAccessException: Access to the path 'C:\ReadingDirectory\FileName.xml' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.File.Delete(String path)
at OperaWinSrvc.OperaWinSrvc.ReadFiles()
Я получаю такую же ошибку, когда пытался System.IO.File.Move