Многопоточный механизм обработки ошибок
От: ZveN  
Дата: 15.02.04 10:54
Оценка:
Собственно пишу subj. Существует класс, где хранится коллекция Publisher'ов и список типов исключений для каждого Publisher'а. Все публикаторы через рефлексию (MethodInfo тоже храню в экземпляре конфига).
Разумеется, если публикатор отправляет сообщение об ошибке, например на e-mail, то этот процесс достаточно долгий => надо все это делать в отдельном Background потоке.
Хотелось бы для каждого публикатора создавать отдельный поток и при возникновении исключения передавать его в соответствующий поток обработчику. Может кто сможет подсказать в каком направлении начать раскопки.

Ума хватило сделать только это:

public static void PublishEvent(ExceptionBase exception)
{
  ThreadStatePublisher publisher = new ThreadStatePublisher(exception, config);
            
  Thread publisherThread = new Thread(new ThreadStart(publisher.Publish));
  publisherThread.IsBackground = true;
  publisherThread.Priority = ThreadPriority.BelowNormal;
  publisherThread.Start();
}

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