It’s been a slow day for me so far… I’ve been trying to fix up some functionality in my .NET applications for work. Mixed results — I’m uncovering as many bugs as I’m fixing but at least things seem to be progressing. Currently I have two applications — one is running as a Windows Service. The second is monitoring this program and using remoting calls to retrieve statistics and get information in real-time as the process runs. Previously, if the Service was not running, the monitoring tool would hang for a while as it tries to do the remoting call and fails. To get around this issue, I have the Windows Service create a Mutex… The monitoring tool then checks this Mutex — if it exists, it knows (or at least can reasonably expect) that the remoting call will work.
This works except that the monitoring tool needs to be able to be located on any machine in the local network (not necesarily the same machine that the Windows Service is running on). I’ve just got to figure out how to do that. If any of my imaginary blog readers have any idea, please send me a [real] email. Thanks.
#1 by Anonymous on February 21, 2006 - 9:32 am
The description of the issue is a little hard to follow. Perhaps the windows service could toggle a flag (or update a field with the current date/time) in a network-readable file (html,txt,csv,dat) when the service is running. With the flag option, the flag would be retoggled (back to the original value) when the service terminates. With the field option, the process running on the remote node would check to see when the last time the service updated the field, and if it was “recently” then the process could proceed to attempt the remoting call. Whaddya think?