VB.NET Service - afbryd start?

Tags:    .net

Jeg har lavet en VB.NET service som løbende holder øje med hvad der sker i diverse eventogs på den server den kører på, og det virker fint.

Jeg har dog behov for at afbryde onStart sub'en hvis der opstår en fejl med initialiseringen så servicen står som stoppet. Af en eller anden årsag kan jeg ikke finde en beskrivelse af det i hjælpen (=læs sikkeret stæreblind).

Er der nogen der ved hvordan man gør det ?

Det er en sub, så der kan ikke returneres en false, og man kan ikke kalde OnStop for servicen står alligevel som started bagefter.


-------------------------
/Flemming Christensen



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Umiddelbart vil jeg skyde på at du ikke skal afbryde din onStart(), problemet med den er at det ikke er dig der kalder den, men derimod servicemanageren. Det betyder at du sikkert skal lave en kontrol i din onStart() der kontrollerer om den starter korrekt, hvis ikke den gør det, skal den ikke starte op, men derimod "køre tomgang" indtil den erstartet op, hvorefter du kan nedlægge den igen. Jeg vil tro det er almindelig fejlhåndtering der kan benyttes i denne sammenhæng. Tror ikke du kan slippe udenom at starte din service, men du kan selv kontrollere hvad der skal gøres ved start. (P.S. jeg koder desværre ikke VB.NET, så der kan jeg ikke hjælpe, men derimod C#, men mon ikke det er tæt nok på hinanden)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Det er godt nok ikke meget respons jeg får på mine spørgsmål (læs: ingen).

-------------------------
/Flemming Christensen



Hej Flemming,

>Det er godt nok ikke meget respons jeg får på mine spørgsmål (læs: ingen).


Det kunne jo desværre nok tyde på at der ikke umiddelbart er nogen der kender svaret på dit spørgsmål. Desværre.

--
Mvh.

Kasper (TSW)
Webmaster



Hej Flemming,

>Det er godt nok ikke meget respons jeg får på mine spørgsmål (læs: ingen).


Det kunne jo desværre nok tyde på at der ikke umiddelbart er nogen der kender svaret på dit spørgsmål. Desværre.

--
Mvh.

Kasper (TSW)
Webmaster


Yep, det må jeg jo desværre acceptere ;)

Men da var nu også fordi jeg heller ikke havde fået respons på et spørgsmål i Delphi Forumet. Det her website er nok desværre ikke til mine typer problemer.

-------------------------
/Flemming Christensen



Umiddelbart vil jeg skyde på at du ikke skal afbryde din onStart(), problemet med den er at det ikke er dig der kalder den, men derimod servicemanageren. Det betyder at du sikkert skal lave en kontrol i din onStart() der kontrollerer om den starter korrekt, hvis ikke den gør det, skal den ikke starte op, men derimod "køre tomgang" indtil den erstartet op, hvorefter du kan nedlægge den igen. Jeg vil tro det er almindelig fejlhåndtering der kan benyttes i denne sammenhæng. Tror ikke du kan slippe udenom at starte din service, men du kan selv kontrollere hvad der skal gøres ved start. (P.S. jeg koder desværre ikke VB.NET, så der kan jeg ikke hjælpe, men derimod C#, men mon ikke det er tæt nok på hinanden)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)

-------------------------
/Flemming Christensen

Det vil sige at hvis der opstår fejl under Onstart så er jeg nødt til at starte en timer før den afslutter onstart som efter nogle millisekunder skal stoppe servicen. Hvordan stopper jeg servicen ? Jeg har prøvet at kalde OnStop direkte, men der kører bare funktionen onstop, men ændrer ikke ved selve servicens status, den står stadigvæk som "started".



t