RTD サーバーを含む C# で Excel のアドオンを開発しています。まだ 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;
これを整理する方法がわからないので、どんなアイデアでも大歓迎です。