Здравствуйте, Аноним, Вы писали:
на данный момент (так как выяснилось, что SynchronizationContext не работает "нормально" с консольными приложениями такой костыль (?):
А>А>class MyService: ServiceBase
А>{
А> // ... здесь запускается поток в котром выполняется вся работа сервиса
void OnStop()
{
lock (sync)
{
if (!thread.IsAlive)
return;
thread.Abort();
thread.Join();
}
}
А> // здесь тело метода выполняющего работу
А> void ThreadWork()
А> {
А> try
А> {
А> }
А> catch (Exception ex)
А> {
А> // log exception
А> }
А> context.Post(delegate {
thread.Join();
Stop();
}, null);
А> }
А>}
А>
оцените плиз!