Oppure

Loading
04/12/11 13:09
jaco94++
Salve :D

Ho un problema con l'esecuzione di un servizio windows dopo averlo creato ed installato il servizio parte e si chiude da solo, il servizio ha il seguente codice:

        protected override void OnStart(string[] args)
        {
            Ex();
        }


Ex:

void Ex()
{
            string temp = string.Empty;
            string ip = string.Empty;
            string MyMid = regmanager.readkey(regmanager.MachineID);
            string MyName = regmanager.readkey(regmanager.UserID);
            MyMid = "1234567800"; // temp
            Byte[] bytes;



            UdpClient listener = new UdpClient(9000);
            IPEndPoint ep = new IPEndPoint(IPAddress.Any, 9000);


            while (AbortEx == false)
            {
                Thread.Sleep(50);
                bytes = listener.Receive(ref ep);
                ip = ep.ToString();
                temp = Encoding.ASCII.GetString(bytes, 0, bytes.Length);

                if (!string.IsNullOrEmpty(temp))
                {
                   . . . 
                }
              }
}


Perché non rimane nel ciclo while ? :d
aaa
04/12/11 13:42
nessuno
La OnStart viene chiamata quando il servizio parte, *non* rappresenta il servizio.

Quindi nella OnStart devi fare tutto quello che serve a far partire il servizio e poi la OnStart termina.

In pratica, nella OnStart devi solamente creare e avviare un thread in cui fai quello che ti aspetti dal servizio; fatto questo, l'OnStart termina.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.