//private static volatile bool NuoveRichieste = false;

        private static void QueryRichieste()
        {
            for (int i = ElencoNuoveRichieste.Count - 1; i >= 0; i--)
            {
                RichiestaCalendario richiestaCalendario = ElencoNuoveRichieste[i];

                ElencoNuoveRichieste.RemoveAt(i);
                ElencoRichiesteAttive.Add(richiestaCalendario);

                prevent.calendar.Parametri parametri = new prevent.calendar.Parametri();

                parametri.DataInizio = richiestaCalendario.DataInizio;
                parametri.DataFine   = richiestaCalendario.DataFine;
                parametri.TipoGS     = richiestaCalendario.TipoRichiesta;
                parametri.IdSito     = new string[1];
                parametri.IdSito[0]  = richiestaCalendario.Ingresso.ToString();

                richiestaCalendario.ParametriXml = parametri;

                // attivo un thread che effettua la chiamata al web service
                ParameterizedThreadStart newThreadStart = new ParameterizedThreadStart(TaskAsincrono);
                Thread nuovo = new Thread(newThreadStart);
                nuovo.Start(richiestaCalendario);

                if (i > 0)
                {
                    Thread.Sleep(300);
                }
            }
        }
        private static string GetXmlRichiesta(prevent.calendar.Parametri parametri)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
                ns.Add("", "");

                XmlSerializer xml = new XmlSerializer(typeof(prevent.calendar.Parametri));
                xml.Serialize(stream, parametri, ns);

                string xmlstr = Encoding.UTF8.GetString(stream.ToArray());
                return(xmlstr);
            }
        }