表示統計を XML ファイルに書き込みます。データ数が失われることで問題が発生する可能性がありますか?
質問
こんにちは。プロパティのコードとそのコードのページ表示数を保持する XML を作成しました。
<?xml version="1.0" encoding="utf-8"?>
<data>
<nehnutelnost code="BSPO066P">35</nehnutelnost>
<nehnutelnost code="PMDM029P">4</nehnutelnost>
</data>
これで潜在的な弱点を見つけたと思います。今日はすべてのカウンターが消え、すべてがゼロから始まりました。
XMLファイル内にコードが存在するかどうかを確認し、+1するか、1で新しいXMLタグを作成するコードです。
int intSeenCount = 0;
XDocument xmlSeenCount = new XDocument();
xmlSeenCount = XDocument.Load(Server.MapPath(@"App_Data\lozjoCounts.xml"));
XElement xmlElement = xmlSeenCount.XPathSelectElement("data/nehnutelnost[@code = '" + strCisloZakazky + "']");
if (xmlElement == null)
{
xmlElement = (new XElement("nehnutelnost",
new XAttribute("code", strCisloZakazky),
++intSeenCount));
xmlSeenCount.Element("data").Add(xmlElement);
}
else
{
intSeenCount = (Convert.ToInt32(xmlElement.Value) + 1);
xmlElement.Value = intSeenCount.ToString();
}
xmlSeenCount.Save(Server.MapPath(@"App_Data\lozjoCounts.xml"));
私の質問は次のとおりです。
同時に他の人が開いたページがあり、ファイルが上書きされたか、何らかの方法でデータがリセットされた可能性はありますか?
ページ訪問者の数を将来的にリセットされないように保持する他の方法はありますか?
ありがとう。
フェロ
解決
あなたの同時実行の問題を抱えているようです。
あなたは、書き込み動作のロックできたが、その後、次の操作が必要あなたがあなたのアプリケーションで可能なボトルネックを作成していることに注意してください。
所属していません StackOverflow