Re[4]: Автостарт сервиса написанного на .net
От: Дмитрич Россия  
Дата: 19.01.06 14:19
Оценка:
Здравствуйте, Engineer, Вы писали:

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


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


E>>>.NET-службы в автостарте работают плохо. Им часто не хватает 30 секунд, выделяемых SCM на инициализацию, для загрузки CLR, JIT-компиляции и тому подобного. Напиши простой unmanaged-сервис на С++ (типа Guardian), который будет делать только и того, что запускаться в режиме Auto и периодически (раз в 5-10 секунд) проверять состояние основного .NET-сервиса и запускать его, если он не запущен. Сервис .NET установи в режим загрузки Manual. Так можно безболезненно запускать целую группу .NET-сервисов.


AVK>>А зачем тогда .NET делать отдельным сервисом? Поднимать тогда уж сразу CLR самостоятельно и не пользоваться штатной нетовской заглушкой.


E>Из условий задачи видно, что .NET-сервис у человека уже готов и работает. Единственная проблема — через раз запускается в режиме Auto. Чтобы решить её минимальной кровью, ничего работающего не трогая, вполне достаточно приставить к медленному .NET-сервису кого-то поменьше и пошустрей. 15 строк кода этого "поменьше и пошустрей" будут явно проще, чем ручная реализация загрузчика ОС .


Замечена ещё одна особенность. Не стартует в случае некорректного выключения питания. В случае же, если сервис успешно останавливает свою работу, то после он успешно стартует.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.