Мое приложение вызывает хранимую процедуру, через хранимую процедуру я вызываю службу Windows, используя NET START
команду следующим образом:
SELECT @Cmd = 'Net Start ServiceName /"' + @param1 + '" /"' + @param2 + '"'
Теперь переданные здесь параметры не достигают OnStart
метод. Эти значения пустые.
Protected Overrides Sub OnStart(ByVal args() As String)
Try
service1= New Service
service1.param2 = args(1)
service1.param1 = args(0)
Вот я получаю args(0)
в качестве имени службы вместо переданного значения и args(1)
пусто. Хотя args.Getlength(0)
возвращает 2.
Служба запускается успешно, вызывает исполняемый файл, но параметров нет.
В чем может быть причина?
NET START
команда? NET START
команда в Windows Server 2008?То же самое работает и на Windows Server 2003.
NET START
не поддерживает передачу параметров. РЕДАКТИРОВАТЬ: На самом деле, как вы заявили, в некоторых случаях он, по-видимому, передает параметры. Я подозреваю, что такое поведение команды NET START было случайно, а не намеренно, поэтому оно больше не работает и почему поведение не упоминается. Вот
Пытаться sc start
вместо этого, согласно этому ответу Вот
sc start
также официально поддерживает передачу параметров.