ServiceBase Конструктор
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый экземпляр класса ServiceBase.
public:
ServiceBase();
public ServiceBase ();
Public Sub New ()
Комментарии
Не создавайте экземпляр ServiceBase класса . Вместо этого наследуйте от ServiceBase и создайте экземпляр производного класса. Минимум, который необходимо реализовать в конструкторе для класса, наследуемого от ServiceBase , — это задать в компоненте ServiceName . В конструкторе не требуется никакой другой обработки. Большую часть инициализации следует обрабатывать в OnStart , а не в конструкторе . В противном случае нет никакой гарантии, что объекты будут повторно инициализированы при перезапуске службы после ее остановки.
При переопределении конструктора в производном классе вызовите конструктор базового класса в коде.
Конструктор ServiceBase задает значение AutoLogtrue
. Если вы не хотите автоматически регистрировать вызовы службы из диспетчера управления службами (SCM), задайте для false
значение AutoLog .
Если исполняемый файл содержит одну службу, система вызывает конструктор службы при выборе start из SCM и запускает деструктор при вызове Stop.
Если исполняемый файл содержит несколько служб, вызов запуска в одной службе вызывает конструкторы для всех служб в исполняемом файле, но запускается только указанная служба. Деструкторы для служб выполняются вместе, когда все службы были остановлены, а не по отдельности при остановке каждой службы.
Примечание
При переопределении конструктора базового класса следует явно вызвать его в конструкторе производного класса.