19. oktober 2005 - 12:12Der er
8 kommentarer og 1 løsning
Håndtere exceptions i en System.Timers.Timer (.Net 2.0)
Hej,
jeg har en System.Timers.Timer i min ASP.Net-applikation, som hvert 15. sekund skal udføre en handling. Hvis der er noget, der går galt i udførslen, skal brugeren gøres opmærksom på det. Derfor har jeg indsat en try-catch i min timer_elapsed-metode, men hvordan kaster jeg exceptions op, så de kan fanges på højere niveau ? Jeg har prøvet at kaste den videre med "throw myexception", men den bliver ikke fanget nogen steder. Hvad skal jeg gøre ? PS:Jeg logger fejl med log4net til en fil, så en administrator eller anden senere kan se, hvor der opstod en fejl.
det kan ikke gøres ved at fyre en event, som hovedtråden lytter på ? I dens eventhandler kunne man så fyre exception videre ? Jeg har en statisk klasse, som instantierer en timer. Og det er i timerens "elapsed"-metode, der skal fanges exceptions. Er det rigtigt forstået, at min statiske klasse kører i en tråd og opretter en timer, som så kører i sin egen tråd ?
problemet i en web applikation er jo at der ikke altid behøver at være en bruger der er ved at hente en side... evt. kunne der jo også være flere samtidige brugere... Hvem skal have beskeden, eller fejlen?
Hej. Der er kun én bruger, der kører denne applikation. Det er ikke optimalt at køre den som en web-applikation, men det bliver jeg nødt til at gøre foreløbigt. Adgangen bliver derfor begrænset til én bruger. Denne bruger er administrator / super-bruger. Timeren står og checker om nogle tidsfrister er overskredet. Hvis timeren kaster en exception i dette check , skal brugeren have det at vide.
ok, så lad mig omformulere... problemet med at lave dette som en web applikation er: kommunikation i en web applikation er styret af browseren, så du kan ikke notificere brugeren på et vilkårligt tidspunkt... du bliver nødt til at gemme informationen og vente på næste gang browseren requester din side.
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.