Передача аргументов командной строки в моно-сервис
Есть ли способ передать аргументы командной строки в службу, вызванную моно-службой? Кажется, что все аргументы командной строки поглощаются моно-сервисом, а не передаются сервису.
1 ответ
Обновление: согласно моему патчу, который вышел в конце 2011 года, теперь вы можете использовать намеченный интерфейс
mono-service
,
Идиоматический способ сделать это - использовать файл app.config, содержащий разделы конфигурации (в формате XML).
Обновить
Это кажется странным. assebmblyArgs
[так] передаются как часть activationAttributes
в AppDomain.CreateInstanceAndUnwrap Method (String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
, но игнорируется в призыве кOnStart
,
Вы можете попробовать скомпилировать модифицированную версию mono-service.exe
используя следующий источник:
* смотрите GitHub Gist или коммит для обзора
Компилировать вmono-service.exe
с-r:System.ServiceProcess.dll -r:Mono.Posix.dll -unsafe
Старые вещи:
Обновление 1 Ударь это.Судя по коду, у вас должна быть возможность передавать опции, следующие за именем сборки.
Это подразумевает, что следующее должно делать то, что вы ожидаете:
mono-service -l:/root/service-lock MyService.exe /Param1 /Param2 bla.txt