FileStream fs = new FileStream("c:\\service.txt",FileMode.Append,FileAccess.Write);
StreamWriter streamWriter = new StreamWriter(fs);
streamWriter.Write(string.Format("{0} {1}",DateTime.Now,message));
streamWriter.Close();
fs.Close();
запись в файл из сервиса
в другую, необходимо вести лог работы (в текстовый файл), и сохранять текущий ID последней скопированой записи
(в xml-файл). Чтение из файлов происходит нормально, а вот при попытки записи выпадает исключение ACCESS DENIED.
Данные копируются порциями по 10 тыс. записей. т.е
1) прочитали из конфига ИД последней переписаной записи
2) выбрали 10 тыс. записей начиная с этого ИД
3) скинули в другую базу
4) определили ИД последней из этих 10 тыс.
5) записали этот ИД в файл
И вот как раз на пункте 5 грабли и возникают. Вот код который записывает в конфиг:
//XMLSECTION мое перечисление
protected void SetXMLData(XMLSECTION x, string value)
{
XmlDocument doc = new XmlDocument();
doc.Load(AppDomain.CurrentDomain.BaseDirectory + @"\db.xml");
XmlNodeList el;
switch (x)
{
case XMLSECTION.CurrentDataGpsID:
el = doc.GetElementsByTagName("CurrentDataGpsID");
el[0].InnerText = value;
break;
.......
}
doc.Save(AppDomain.CurrentDomain.BaseDirectory +@"\db.xml");
}
//запсь последнего ИД
SetXMLData(XMLSECTION.CurrentDataGpsID, maxDatagpsID);
И такой код тоже не пашет
StreamWriter sw = new StreamWriter(@"c:\service.txt");
sw.WriteLine(string.Format("{0} {1}",DateTime.Now,message));
sw.Close();
В чем прикол может быть ?
Цитата: vitalik_4
И такой код тоже не пашет
StreamWriter sw = new StreamWriter(@"c:\service.txt");
sw.WriteLine(string.Format("{0} {1}",DateTime.Now,message));
sw.Close();
В чем прикол может быть ?
Вместо этого порубуй:
Код:
Этот код точно рабочий.
Не работает твой код потому что класс StreamWriter записывает поток, а не файл.
Скажи что не работает в первой части твоего кода(укажи строку в которой возникает эксепшн)
Также можно поставить NetworkService, но для каталога, куда происходит запись придется разрешить чтение/запись/создание (а лучше вообще поставить FullControl) пользователю NETWORK SERVICE.