Не стартует сервис(Automatic) при перезагрузке (.Net 1.1)
От: borhes  
Дата: 30.01.08 13:45
Оценка:
Ситуация воспроизводится примерно с вероятностью 0.4 далеко не на всех машинах.

Event log показывает следующее:
1. Timeout (30000 milliseconds) waiting for the MyService service to connect.
2. The MyService service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.

Первая строчка в моем коде — запись евента в Windows Application Log — записи в логе не появляется, что, видимо, означает — причина не тяжелой реализации OnStart.

Есть мысли, господа?
Re: Не стартует сервис(Automatic) при перезагрузке (.Net 1.1
От: GlebZ Россия  
Дата: 30.01.08 14:11
Оценка:
Здравствуйте, borhes, Вы писали:

B>Первая строчка в моем коде — запись евента в Windows Application Log — записи в логе не появляется, что, видимо, означает — причина не тяжелой реализации OnStart.

B>Есть мысли, господа?
Это может быть не толко OnStart, но и конструкторы. Это может быть сам Windows Application Log. Права на запись проверял?
Re[2]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: borhes  
Дата: 30.01.08 14:38
Оценка:
Здравствуйте, GlebZ, Вы писали:
GZ>Это может быть не толко OnStart, но и конструкторы. Это может быть сам Windows Application Log. Права на запись проверял?

Первая строчка Main — запись в лог, там до OnStart дело даже не доходит. Воспроизводится это через раз на одной и той же машине, поэтому, дело думаю не в правах. И наверное, не в Windows Application Log — потому что изначально я писал в собственный лог, с тем же результатом.
Re: Не стартует сервис(Automatic) при перезагрузке (.Net 1.1
От: borhes  
Дата: 30.01.08 14:58
Оценка:
Вот в точности моя проблема... Только без решения.
http://www.rsdn.ru/Forum/?mid=1602104
Re[3]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: GlebZ Россия  
Дата: 30.01.08 16:43
Оценка:
Здравствуйте, borhes, Вы писали:

1. Проверяй права под которыми сервис запускается.
2. Windows Event — тоже сервис. Если он не успевает запуститься до этого, то ты можешь получить этот эффект. Сделай зависимости.
Re[4]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: borhes  
Дата: 30.01.08 17:20
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, borhes, Вы писали:


GZ>1. Проверяй права под которыми сервис запускается.

GZ>2. Windows Event — тоже сервис. Если он не успевает запуститься до этого, то ты можешь получить этот эффект. Сделай зависимости.

Спасибо за догадки...

1. Local System.
2. Стоит уже зависимость. Не помогает.
Re[2]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: Дмитрич Россия  
Дата: 31.01.08 12:01
Оценка: 1 (1)
Здравствуйте, borhes, Вы писали:

B>Вот в точности моя проблема... Только без решения.

B>http://www.rsdn.ru/Forum/?mid=1602104

На сколько я помню проблема оказалась в том, что в принципе писать сервиса на dotNet не удчное решение, т.к. иногда при загрузке системы они не успевали запуститься, дойти даже до Main. Проблема запаска была в основном, когда систему роняли, при очередной загрузке сиквел начинал востанавливать свои базы (при этом привязяаться к сервису MSSQLServer не удалось, т.к. сервис стартует, а потом начинает востановление) и все другие процессы выполнялись медленее, в результате окружение dotNet не успевало отрабатывать в отведенные 30 сек. Решением было написания небольшого костыля (в прямом смысле) на WinApi, который мониторил состояние dotNet сервиса с определенной периодичносью и если он оказывался остановленным, стартовал его. Тем самым мы защитились ещё и от того, что шибко умные пользователи остановят его.
Re: Не стартует сервис(Automatic) при перезагрузке (.Net 1.1
От: max314 Россия  
Дата: 04.02.08 06:52
Оценка:
Здравствуйте, borhes, Вы писали:

B>Первая строчка в моем коде — запись евента в Windows Application Log — записи в логе не появляется, что, видимо, означает — причина не тяжелой реализации OnStart.


B>Есть мысли, господа?


У нас на 2 фреймверке похожая ситуация была.
Связано с переполнением системного лога
Лечилась или правая клавиша на системном логе и выбор
"Затирать старые события по необходимости" или так
protected override void OnStart(string[] args)
{
try
{
a_Server.Start();
}
catch (System.ComponentModel.Win32Exception e)
{
// Ошибка записи в системный лог
// Message=Журнал событий переполнен
if (e.ErrorCode != 1502)
{
throw;
}
}
Re[2]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: borhes  
Дата: 04.02.08 22:09
Оценка:
Здравствуйте, max314, Вы писали:

M>Здравствуйте, borhes, Вы писали:


M>У нас на 2 фреймверке похожая ситуация была.

M>Связано с переполнением системного лога

На это я уже тоже наступил Но в данном случае не то.
Re[3]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: borhes  
Дата: 04.02.08 22:12
Оценка:
Здравствуйте, Дмитрич, Вы писали:

Д>На сколько я помню проблема оказалась в том, что в принципе писать сервиса на dotNet не удчное решение, т.к. иногда при загрузке системы они не успевали запуститься, дойти даже до Main.


Неужели не подумали о таком варианте в MS
Коряво, но похоже, именно по вашему пути придется и мне пойти...
Re[4]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 08.02.08 05:54
Оценка:
Здравствуйте, borhes, Вы писали:

Д>>На сколько я помню проблема оказалась в том, что в принципе писать сервиса на dotNet не удчное решение, т.к. иногда при загрузке системы они не успевали запуститься, дойти даже до Main.


B>Неужели не подумали о таком варианте в MS

B>Коряво, но похоже, именно по вашему пути придется и мне пойти...

в свойствах службы есть закладка действий при сбоях, можно поставить автоматический перезапуск
... << RSDN@Home 1.2.0 alpha rev. 788>>
Re[5]: Не стартует сервис(Automatic) при перезагрузке (.Net
От: borhes  
Дата: 08.02.08 08:36
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>в свойствах службы есть закладка действий при сбоях, можно поставить автоматический перезапуск


Пробовал, не срабатывает — похоже, что за сбой такая ситуация не считается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.