2016-10-18 5 views
1

У нас есть процесс, который выполняется как служба Windows, Этот процесс служит сервером интерфейса, обрабатывающим входящие сообщения, преобразует их и отправляет их другому интерфейсу.Когда служба windows считается «запущена»

Это довольно тяжелый процесс, он должен загружать много вещей в память, и это занимает некоторое время (несколько минут). по своей природе, когда мы запускаем его с помощью службы Windows, он остается в «стартовом» состоянии в течение очень долгого времени (иногда более 20 минут) , даже когда мы видим, что процесс уже работает и обрабатывает сообщения просто отлично (идущий по его журналам).

так что вопрос - когда считается услуга «стартом» и когда она считается «запущенной»? на основе каких факторов?

+0

Каждая служба Windows сообщает о своем статусе диспетчеру управления сервисом, используя функцию SetServiceStatus. Служба считается «запущенной», когда она сообщает Windows, что она запущена, и это зависит от программиста, когда это происходит. (Если вы используете класс ServiceBase, предоставляемый платформой .NET, служба сообщает, что он запускается, как только возвращается функция OnStart.) –

ответ

1

Начальный статус завершен, когда onstart завершен.

Вы должны написать стартовый код после события onstart.

puclic class Service1 
{ 
     private Timer timer = new Timer(); 

     protected override void OnStart(string[] args) 
     { 
      this.timer.Elapsed += new ElapsedEventHandler(OnElapsedTime); 
      this.timer.Interval = 1 * 1000; // 1 second 
      this.timer.Enabled = true; 
     } 

     private void OnElapsedTime(object source, ElapsedEventArgs e) 
     { 
      this.timer.Enabled = false; // OnElapsedTime run only one time 

      // Write your code 
     } 
} 
+0

Вы предполагаете, что OP говорит о службе .NET. Все в порядке, но вы должны это прямо сказать. –

+0

Спасибо! это действительно была служба .NET, я должен был упомянуть об этом. Я вижу, что у нас есть эта функция OnStart в коде, и теперь я вижу, какие области нужно искать с точки зрения потребления в большинстве случаев. – SwiftHands

Смежные вопросы