Re: .NET Windows Service OnStart hangs on Process.ProcessName

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Just using System.Reflection.Assembly.GetEntryAssembly().Location gets the
entry assembly location from which you can retrieve the process name. This is
only applicable if running from default application domain.
Or another solution is to use Environment.GetCommandLineArgs(). It returns
an array and the first element in the array contains the file name of the
executing program. These 2 solutions are not resource intensive and do work
well for my needs. Thanks.
--
Simon


"Willy Denoyette [MVP]" wrote:

Sure, don't run this in OnStart. OnStart is only meant to initialize your
service variables and kick-off a service thread to run the real service
code, OnStart must return before the SCM times out, that is withing 30
seconds.
So you need to run this on a separate thread.

Willy.

"Simon Luckenuik" <simon.luckenuik@xxxxxxxxxxxxxxxxx> wrote in message
news:53DE1FA6-FDCD-4F5E-A712-FA248BE5CC14@xxxxxxxxxxxxxxxx
| Hi,
| We have a C# application running as a Windows Service. Once the service is
| installed and a start is done on the service, the process will block when
| accessing information about the current process. The example below placed
in
| the OnStart of a class inheriting from ServiceBase will hang on the
| proc.ProcessName line.
| using(System.Diagnostics.Process proc =
| system.Diagnostics.Process.GetCurrentProcess())
| {
| return proc.ProcessName; // This line will hang long enough to prevent
| the service from starting for timeout reason.
| }
|
| This hanging issue seems to happen only once in a while. Usually, the
first
| startup of the service will hang and timeout. The second startup will
start
| ok, the third will timeout and so on.
|
| Is there a workaround or a fix for this issue?
|
| Environment information:
| OS : WinXP SP1
| .NET: 1.1 SP1
|
| Thanks!
| Simon



.



Relevant Pages

  • Re: paging all socket geniuses
    ... the first ICMP ECHO_RESPONSE or else hang for some default timeout and ... | past the timeout, and why cannot SMOKINJOE do the same?... ... request at it, and then read the response (which for ... work on the first two and hang on the third [meaning the bug *isn't* ...
    (comp.lang.lisp)
  • Re: PROBLEM: Network hang: "eth0: Tx timed out (f0080), is buffer full?"
    ... I need the tx timeout lines. ... Here the last hang data. ... Thanks, Richard ... Dec 29 17:44:06 urutu kernel: nfs: server jupiter not responding, ...
    (Linux-Kernel)
  • Re: launching external program with timeout?
    ... there is some occasion where the program would hang. ... simple way to add a timeout mechanism? ... There is BLT's bgexec, ... I guess you mean support for newer versions of Tcl? ...
    (comp.lang.tcl)
  • Re: launching external program with timeout?
    ... there is some occasion where the program would hang. ... simple way to add a timeout mechanism? ... There is BLT's bgexec, ... the Tcl wiki you will see several possible sources ...
    (comp.lang.tcl)