Domanda

Is there a way to pass command line arguments to a service invoked by mono-service? All of the command line arguments seem to be absorbed by mono-service instead of passed to the service.

È stato utile?

Soluzione

Update: as per my patch that went in end 2011 you can now use the intended interface of mono-service.


AFAICT there is no way.

The idiomatic way to do things would be to use an app.config file to contain Configuration Sections (in XML).

Update

That seems odd. The assebmblyArgs [sic] are being passed as part of the activationAttributes to AppDomain.CreateInstanceAndUnwrap Method (String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]), but being ignored in the call to OnStart.

You could try compiling a modified version of mono-service.exe using the following source:

* see github gist or commit for review

Compile to mono-service.exe with -r:System.ServiceProcess.dll -r:Mono.Posix.dll -unsafe


OLDER STUFF:

Update 1 Strike that. Judging from the code you should just be able to pass options trailing the assembly name.

This implies that the following should do what you expect:

 mono-service -l:/root/service-lock MyService.exe /Param1 /Param2 bla.txt

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top