Indikere fejl ved programmatisk nedlukning af service
Jeg har en windows service skrevet i .NET 2.0, som jeg ønsker skal lukke ned med en fejl hvis den fx har fejlet i databaseforbindelse x gange. Jeg vil opnå, at et service monitor program kan opfange at den er fejlet.
Jeg har prøvet at sætte ErrorCode og kalde Stop() på ServiceBase, men det ser ikke ud til at fungere (den lukker bare pænt ned med "Service stopped successfully." i Event loggen). Herudover har jeg prøvet at kaste unhandled exceptions.
det kan godt være jeg misforstår et eller andet, men er det ikke bare at selv sætte en besked i eventloggen, med fejlbeskeden fra din exception, inden du kalder stop.
if (!EventLog.SourceExists(sSource)) EventLog.CreateEventSource(sSource, sLog); EventLog.WriteEntry(sSource, sEvent);
En enkelt ting i denne sammenhæng er at den account din service bruger skal have rettinghed til eventloggen (det tog mig lidt tid at finde den fejl :-) )
Når man bare stopper den almindeligt med stop, opdager service manager værktøjet (overvågning) ikke at der er sket en fejl og det er desværre et krav at den skal opdage det. Kan bl.a. bruges til at sende email ved crashed service el.l.
Kan du ikke hooke op på en stop event eller override en metode, så du eventuelt kan fange det event ?
mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.