2009-07-30 12 views

risposta

8

C'è un'eccezione nel OnStart del vostro servizio il metodo(), aggiungere

try{...} 
catch(Exception ex) 
{ 
    //write to file ex.ToString(); 
} 

e accedere tuo eccezione a presentare

+2

Usa registro eventi di Windows ... EventLog.WriteEntry (String.Format ("WcfServiceHostTest \ n Messaggio di eccezione: {0} \ nTraccia: {1}", ex.Messaggio, ex.StackTrace), EventLogEntryType.Error) ; –

2

Aggiungi blocco di gestione degli errori (cattura UnhandledException o prova/blocco catch intorno sospetta codice) e registrarlo (utilizzo Trace o Debug: è possibile visualizzare i messaggi con DebugView).

Per dare un'idea di Service Manager che non c'è errore (solo per aiutare l'utente) è possibile:

service.ExitCode = 1064; //ERROR_EXCEPTION_IN_SERVICE - just example 

Dove "servizio" è oggetto del servizio.

+0

Questo ExitCode apparirà sia nell'output di 'net start', sia quando verrà avviato dalla finestra dei servizi MMC. – StuartN

0

Se Visual Studio è installato e si utilizza .NET, chiamare System.Diagnostics.Debugger.Break() nella funzione OnStart(). All'avvio del servizio, ti verrà richiesto di eseguire il debug del servizio. Seleziona l'opzione Visual Studio e interromperesti il ​​debugger in cui si trova il punto di interruzione programmatico. Puoi eseguire il debug normalmente da lì.

Problemi correlati