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