将查看统计信息写入XML文件。丢失数据计数可能存在的问题?

将查看统计信息写入XML文件。丢失数据计数可能存在的问题?,xml,file,save,mappath,Xml,File,Save,Mappath,您好,我创建了XML,其中包含属性代码和该代码的页面浏览次数: <?xml version="1.0" encoding="utf-8"?> <data> <nehnutelnost code="BSPO066P">35</nehnutelnost> <nehnutelnost code="PMDM029P">4</nehnutelnost> </data> 我的问题是: 是否有可能是其他人同

您好,我创建了XML,其中包含属性代码和该代码的页面浏览次数:

<?xml version="1.0" encoding="utf-8"?>
<data>
    <nehnutelnost code="BSPO066P">35</nehnutelnost>
     <nehnutelnost code="PMDM029P">4</nehnutelnost>
</data>
我的问题是:

  • 是否有可能是其他人同时打开了页面,文件被覆盖或以某种方式重置了数据

  • 有没有其他方法来保持网页访客的数量,这样以后就不会重置

  • 多谢各位


    Fero

    您似乎遇到了并发问题

    您可以选择编写操作,但必须注意,您的应用程序中可能存在瓶颈

            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"));