Я работаю над библиотекой для службы обмена сообщениями .NET.
У нее есть подключение к основному серверу уведомлений и подключение для сеанса обмена мгновенными сообщениями.Все они обрабатываются с использованием асинхронных методов Begin / End.
В настоящее время события для пользователя библиотеки (т. Е. MessageReceeded) вызываются в потоке обратного вызова read (хотя и проходят через несколько разных уровней .. разбор сообщения ичто нет).
Это нормально, это просто означает, что пользователь библиотеки должен быть осторожным.Например, операция блокировки внутри одного из обработчиков событий остановит получение любых данных.
Является ли это приемлемым / стандартным способом выполнения действий?При необходимости я мог бы легко вызывать события в потоке потоков.