我正在开发一个 Messenger 库。主类有一个 Login 方法。登录时,所有联系人列表数据都被下载并存储,直到登录完成,此时我为每个下载的用户引发一个UserAdded事件。
目前,我在 Login 方法的末尾一一提出事件。这可行,但这意味着如果我在 UserAdded 事件处理程序中执行冗长的操作,库使用者不会及时获取他们的事件。
我可以看到解决此问题的一种方法是异步引发每个事件,但这会破坏线程池。
我目前的做法是否正确?我是否应该在文档中简单地做一个注释,警告不要在事件处理程序中执行冗长的操作?