ServiceController в C# не принимает аргументы - PullRequest
0 голосов
/ 06 мая 2020

Добрый вечер, я новичок в программировании C#, вы даже не можете называть меня нубом.

Я пытаюсь найти свой путь и, к сожалению, у меня нет другого способа получить образование, кроме как rnet и переполнение стека (спасибо за переполнение стека.)

Проблема: я хочу запустить и остановить службу в C#, работающую с Net 4.0 здесь.

Я добавил ссылка на System.ServiceProcess, и я установил следующее в верхней части программы

using System;
using System.ServiceProcess;
using System.ComponentModel;
using System.Configuration;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;

Теперь у меня есть следующая функция для меня:

 // Below is the service start and stop code

        public void ServiceStart(string SVName)
        {
            ServiceController service = new ServiceController(SVName);
            service.Start();
            service.WaitForStatus(ServiceControllerStatus.Running);
        }
        public void ServiceStop(string SVName)
        {
            ServiceController service = new ServiceController(SVName);
            service.Stop();
            service.WaitForStatus(ServiceControllerStatus.Running);
        }

// End of Service Restart Code

Проблема в том, что функция дает мне 4 ошибки 2 ошибки повторяются для функции «Стоп».

'FM_MW.ServiceController' не содержит определения для «Пуск» и нет доступного метода расширения> «Пуск», принимающего первый аргумент типа 'FM_MW.ServiceController' может быть найден (вам не хватает директивы> using или ссылки на сборку?)

и

FM_MW.ServiceController 'делает не содержать определения для 'WaitForStatus' и нет доступного расширения> метод 'WaitForStatus', принимающий первый аргумент типа 'FM_MW.ServiceController', может быть найден (> вам не хватает директивы using или ссылки на сборку?)

Эти 2 ошибки повторяются и для функции остановки. Пожалуйста, помогите мне, я действительно понятия не имею, я сижу перед этой проблемой в течение 4 часов, теперь я практически ничего не знаю, и все, что я делаю, это пытаюсь изучить документацию и переполнение стека.

Дополнение: О, я извините, я должен был объяснить больше о моей программе

Программа должна остановить службу, затем он обновляет файлы, затем он проверяет файлы, обновляет базу данных, а затем он должен перезапустить остановленные службы.

Мне нужны эти функции для остановки службы, чтобы я мог обновлять файлы.

1 Ответ

0 голосов
/ 06 мая 2020

Я сам обнаружил проблему после долгого поиска.

Кажется, я создал функцию где-то в коде с автоматическим исправлением.

ServiceController попытался получить доступ к этому коду. а не система.

Означает, что у меня был

Form_ServiceController [как моя собственная функция]

, а не

System.ServiceProcess.ServiceController

Это была проблема после того, как я удалил фрагмент мошеннического кода, все работало как задумано.

!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...