Поделиться через


ServiceBase Конструктор

Определение

Создает новый экземпляр класса ServiceBase.

public:
 ServiceBase();
public ServiceBase ();
Public Sub New ()

Комментарии

Не создавайте экземпляр ServiceBase класса . Вместо этого наследуйте от ServiceBase и создайте экземпляр производного класса. Минимум, который необходимо реализовать в конструкторе для класса, наследуемого от ServiceBase , — это задать в компоненте ServiceName . В конструкторе не требуется никакой другой обработки. Большую часть инициализации следует обрабатывать в OnStart , а не в конструкторе . В противном случае нет никакой гарантии, что объекты будут повторно инициализированы при перезапуске службы после ее остановки.

При переопределении конструктора в производном классе вызовите конструктор базового класса в коде.

Конструктор ServiceBase задает значение AutoLogtrue. Если вы не хотите автоматически регистрировать вызовы службы из диспетчера управления службами (SCM), задайте для falseзначение AutoLog .

Если исполняемый файл содержит одну службу, система вызывает конструктор службы при выборе start из SCM и запускает деструктор при вызове Stop.

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

Примечание

При переопределении конструктора базового класса следует явно вызвать его в конструкторе производного класса.

Применяется к

См. также раздел