Scrivendo le statistiche di visualizzazione per file XML. Possibili problemi con la perdita di conteggio dei dati?

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

  •  20-09-2019
  •  | 
  •  

Domanda

Ciao ho creato XML che contiene i codici per le proprietà e il numero di visualizzazioni di pagina per quel codice:

<?xml version="1.0" encoding="utf-8"?>
<data>
    <nehnutelnost code="BSPO066P">35</nehnutelnost>
     <nehnutelnost code="PMDM029P">4</nehnutelnost>
</data>

Credo di aver trovato possibile debolezza con questo, oggi, tutti i contatori disapeared e tutto è iniziato da zero.

Questo è il codice che controlla il codice esistenza nel file XML e sia aggiungere uno o creare nuovi tag XML con 1.

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

Le mie domande sarebbero:

  1. è possibile che ci fosse pagina aperta da qualcun altro, allo stesso tempo e il file appena ricevuto sovrascritti o in qualche modo azzerato i dati?

  2. c'è qualche altro modo per mantenere il numero, se pagina Visitatori così non ci vorrà azzerati in futuro?

Grazie.

Fero

È stato utile?

Soluzione

Sembra che si stanno avendo un problema di concorrenza.

Si potrebbe bloccare l'operazione di scrittura, ma poi si deve essere consapevoli del fatto che il vostro stanno creando un possibile collo di bottiglia in te applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top