Собственно пишу 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();
}
Вот только каждый раз поток новый запускается для каждого исключения...