two ways to do this:
External monitoring of response
and
External monitoring of messages
If you app is locked up, all of the techniques that would live within your
app will fail.
External monitoring of response requires that you provide an interface for
your app that another app will call. When I've done this, I've called it
"healthchec k" but others have called it "ping" or even "verifysani ty". The
point is that you provide an interface. I would suggest that .Net Remoting
is an excellent technique for exposing this interface. Then you need to
have a small, external app that hits this interface once a minute or so to
see if there is a response. If not, that external app can send warnings or
even reset the app itself.
External monitoring of messages requires that you log messages to a log
location that another process watches. That other process looks for
messages that indicate failure and raises an alarm. SMS is very good at
doing this, and if your organization uses Microsoft Operations Manager, you
can wire up a solution with no code, as long as you are already throwing
messages to the event log.
Hope this helps,
--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Bob" <bd*********@sg iims.com> wrote in message
news:OG******** ******@TK2MSFTN GP12.phx.gbl...
I've got dot net Winform apps that are running in a backroom server with
no user interaction. They are supposed to run unattended 24 7 365. They
are IVR apps taking orders via telephony. Problem is nobody is looking at
them to know if they are OK. They have err trapping built in and there's
logging and tracing to log files, but nobody there looks at that. What I
need is to find a way to advise one or more managers immediately when an
app is hanging or if an unhandled exception occurred. Handled exceptions
are easy, I could just send them an e-mail. Unhandled execptions are a
problem, app hangs, so you can't execute code that sends en e-mail, its
hung. So no one sees it and no one knows.They only realise after a few
hours of info not coming in, then its easy to fix and restart app. But
this is far from ideal. Want to find a way to alarm admins immediately as
problem occurs. Could be things like bad network connection causing it,
stuff unforeseen. Anyone have any ideas on how to do this? Any help would
be greatly appreciated.
Bob