表示統計を XML ファイルに書き込みます。データ数が失われることで問題が発生する可能性がありますか?

StackOverflow https://stackoverflow.com/questions/2273930

  •  20-09-2019
  •  | 
  •  

質問

こんにちは。プロパティのコードとそのコードのページ表示数を保持する 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"));

私の質問は次のとおりです。

  1. 同時に他の人が開いたページがあり、ファイルが上書きされたか、何らかの方法でデータがリセットされた可能性はありますか?

  2. ページ訪問者の数を将来的にリセットされないように保持する他の方法はありますか?

ありがとう。

フェロ

役に立ちましたか?
scroll top