Tjena! Du kanske ska kolla på Windows Service. Bygger du det som en Service så får du automatiskt möjligheten att starta och stoppa tjänsten samt att den kan dra igång när datorn startas.Programmeringsproblem
Har ett flertal gånger behövt lösa följande problem och har löst det på olika sätt utan att någon gång känt att det blev 100% bra. Tänkte höra om det är någon som löst det och varför deras sätt är det bästa.
Problemet är då man har en operation som ansluter mot ett system och sedan utför något periodiskt mot detta system. Försvinner anslutningen mot systemet skall det periodiska arbetet upphöra och istället återkopplingsförsök inledas. Lyckas en återuppkoppling dras det periodiska arbetet igång igen automatiskt.
Man skall även manuellt kunna starta och stoppa det periodiska arbetet och detta ska inte generera i återuppkopplingsförsök.
Man ska även kunna kontrollera om anslutning finns eller inte.
"Systemet" kan vara en sql server eller egentligen vad som helst.
Tror alltid jag hittat någon bugg i min implementation som gör att man hamnar snett och anslutningen försvinner utan att återanslutningsförsök inleds.
Har någon något enkelt idiotsäkert förslag på hur man lägger upp det här på bästa sätt.
Exempelkod får gärna vara i C# men det funkar med annat också.
FredrikSv: Programmeringsproblem
Själva programmeringsproblemet är väl ganska enkelt.
(Pseudo/VB-kod)
Do While QuitSignal = False
status = DoSomeWork()
If status = failed
Wait(5000)
End If
Application.DoEvents()
Loop
alternativt fånga exceptions:
Do While QuitSignal = False
Try
status = DoSomeWork()
Catch exSql As SqlException
If exSql.Number = timeoutExpiredErrNum
Wait(5000)
End If
Catch ex As Exception
WriteToLog(ex)
Exit Do
End Try
Application.DoEvents()
Loop