【问题标题】:Writing viewing stats to XML file. Possible problems with losing data count?将查看统计信息写入 XML 文件。丢失数据计数可能出现的问题?
【发布时间】:2010-02-16 15:26:29
【问题描述】:

您好,我创建了 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. 有没有其他方法可以保留页面访问者的数量,以便将来不会重置?

谢谢。

费罗

【问题讨论】:

    标签: xml file save mappath


    【解决方案1】:

    您似乎遇到了并发问题。

    您可以lock 写入操作,但您必须意识到您正在为您的应用程序创建一个可能的瓶颈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      相关资源
      最近更新 更多