Что не так с Windows Service
От: Викторио  
Дата: 13.02.04 15:29
Оценка:
Явно глюк в этом куске.

LogWriterServices.LogServiceBody servbody =
new LogWriterServices.LogServiceBody();

LogWriterProcess = new Thread(new ThreadStart(servbody.StartService));
LogWriterProcess.Start();


Что тут не так?

LogServiceBody Касс находтся в доугой dll. Специвльно для отладки быдо так
сделано.

Если этот код на кнопку повесить то все работает Supper! .
Но если в Windows Service в

protected override void OnStart(string[] args)
{
....
}

запихнуть то не работает.
Такое впечатленте что вызов servbody.StartService не срабатывает.

В чем может быть проблема?

Спасибо!
Re: Что не так с Windows Service
От: oRover Украина  
Дата: 21.02.04 12:14
Оценка:
Здравствуйте, Викторио, Вы писали:

прав хватает?
... << RSDN@Home 1.1.0 stable >>
Re: Что не так с Windows Service
От: Poudy Россия  
Дата: 24.02.04 08:57
Оценка:
OnStart должен возвращать управление почти сразу. Поэтому в нему лечше ничего такого не писать. Возможно LogWriterServices.LogServiceBody servbody = new LogWriterServices.LogServiceBody(); — это слишком долго. Запускай в OnStart отдельную нить и выходи.
Re[2]: Что не так с Windows Service
От: Викторио  
Дата: 25.02.04 14:40
Оценка:
Здравствуйте, Poudy, Вы писали:

Проблема была с правами. Запустил под Local System и все заработало.

Спасибо!

Появилась другая проблема.

Десеарилизация объекта опятже в Windows Application при тестировании работает
а при Windows Service нет.

При Debugg Windows Service обнаружилось что необходимая dll с типами сериализации просто не загружена
в Application Domane. И пoэтому догружаю ее динамически. Но при этом возникает ошибка:

Can not deserialize objeckt from XML.Posable purpese are : Unable to generate a serializer for type
GenericLogEvents.PageAccessEvent from assembly <Unknown> because the assembly may be dynamic.
Save the assembly and load it from disk to use it with XmlSerialization.

В чем проблема?

P>OnStart должен возвращать управление почти сразу. Поэтому в нему лечше ничего такого не писать. Возможно LogWriterServices.LogServiceBody servbody = new LogWriterServices.LogServiceBody(); — это слишком долго. Запускай в OnStart отдельную нить и выходи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.