Процесс не может получить доступ к файлу, потому что он используется другим процессом в FILE IO, используя службу WCF - PullRequest
0 голосов
/ 08 сентября 2011

Я использую следующий код для записи в файл, но возникла проблема, когда я пытаюсь открыть файл, чтобы выполнить в нем некоторые операции. Процесс не может получить доступ к файлу, потому что он используется другим процессом . Я использую WCF для получения значений параметров и использую .net 4.0

            string strTemp = Penn.Common.Shared.GlobalConstants.tempFolder;
            string str = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;
            string format= "MM dd yyyy HH mm ss";
            string filename = "XMLFile" + DateTime.Now.ToString(format) + ".xml";
            StringBuilder strbuilder= new StringBuilder();
            strbuilder.Append(str);
            strbuilder.Append(@"\");
            strbuilder.Append(strTemp);
            strbuilder.Append(@"\");
            strbuilder.Append(filename);
            File.Create(strbuilder.ToString());
            File.Open(strbuilder.ToString(), FileMode.Open, FileAccess.Write, FileShare.Write);
            System.IO.StreamWriter objwriter = new StreamWriter(strbuilder.ToString()); 
            objwriter.Write(xml);
            objwriter.Close();

1 Ответ

1 голос
/ 08 сентября 2011

После File.Create файл уже открыт.

Попробуйте что-то вроде

using (StreamWriter sw = File.CreateText(strbuilder.ToString())) 
{
   sw.WriteLine(xml);
}

это также автоматически закрывает ваш потоковый сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...