我想寫一個用於記錄數據的小軟件,如果目錄中創建的任何類型的文件A。寫入數據到XML時,發生事件時的問題
我使用FileSystemWatcher
類來獲取文件夾中的文件創建信息A。文件夾A中有許多子文件夾。許多用戶可以一次在該目錄中創建文件。
我使用XML數據來保存日誌數據。
XmlTextReader reader = new XmlTextReader(FILE_NAME);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
reader.Close();
XmlNode currNode;
XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
docFrag.InnerXml = "<item>" +
"<path>" + fileName + "</path>" +
"<created>0</created>" +
"<date>" + DateTime.ParseExact(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"), "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None).ToString() + "</date>" +
"</item>";
// insert the availability node into the document
currNode = doc.DocumentElement;
currNode.InsertAfter(docFrag, currNode.LastChild);
//save the output to a file
doc.Save(FILE_NAME);
但有時在發生watcher.Created += new FileSystemEventHandler(OnChanged);
時,關於文件創建的數據未插入XML文件。
那麼,是否可以打開數據寫入文件,並鎖定新的dataWrite文件文件沒有保存?以及如何解決這個問題。
感謝您的建議,併爲wiki頁+1。 – loviji 2010-09-24 14:02:55