我正在为 C# 中的 Excel 开发一个附加组件,其中包括一个 RTD 服务器。因为我们还没有 SQL 数据库,所以我必须使用 XML 文件来存储数据。
XML 文件通过一侧在 Excel 中使用的 C# 函数进行更新。另一方面,多个用户必须能够实时检索这些数据。
当我同时运行这两个函数(更新和读取 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;
我看不出如何解决这个问题,所以任何想法都会受到欢迎。