我正在为.NET信使服务工作。
它与主通知服务器有连接,每个即时消息会话都有一个连接。全部使用Begin / End异步方法处理。
目前,库用户的事件(即.. MessageReceieved)在读回调线程中被调用(尽管遍历了几个不同的层..消息解析和什么不是。)
这很好,只是意味着图书馆用户必须小心。例如,其中一个事件处理程序内的阻塞操作将阻止接收任何数据。
这是可接受的/标准的做事方式吗?如有必要,我可以轻松地在线程池线程上引发事件。
答案 0 :(得分:0)
最终我认为这是可以接受的。您将看到与Windows窗体相同的问题。例如,如果在Clicked事件处理程序中执行阻塞操作,则整个表单将锁定。