Я разрабатываю надстройку для Excel на C #, которая включает в себя RTD-сервер. Поскольку у нас еще нет базы данных SQL, я должен использовать файл XML для хранения данных.
Файл XML обновляется с помощью функции C #, используемой в Excel с одной стороны. С другой стороны, несколько пользователей должны иметь возможность получать эти данные в режиме реального времени.
Когда я запускаю обе функции (обновить и прочитать файл XML), функция записи время от времени вылетает с ошибкой file being usee by another process
.
Функция записи:
string _dataPath = Path.Combine(xllDir, "Test.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(_dataPath);
XmlNode node = xmlDoc.SelectSingleNode(Data_Type.ToUpper() + "/" + Ticker.ToUpper() + "/" + Data.ToUpper() + "/VALUE");
node.InnerXml = Convert.ToString(Value);
XmlNode node_update = xmlDoc.SelectSingleNode(Data_Type.ToUpper() + "/" + Ticker.ToUpper() + "/" + Data.ToUpper() + "/LAST_UPDATE");
node_update.InnerXml = Convert.ToString((DateTime.Now).TimeOfDay);
xmlDoc.Save(_dataPath);
и функция чтения:
_xml.Load(topic.FileName);
XmlNode node = _xml.SelectSingleNode("//" + topic.Ticker);
topic.Value = node.InnerText;
Я не вижу, как с этим разобраться, поэтому любая идея будет более чем приветствоваться.