在Juval Lowy的文本"编程WCF服务"中,他写道:
...当客户端调用Begin()形式的方法并将AsyncPattern设置为true时,这会告诉WCF不要尝试直接调用服务上具有该名称的方法。相反,WCF应该使用线程池中的线程来同步调用底层方法。同步调用将阻塞线程池中的线程,而不是调用客户端(p441)。
当每个异步方法的执行完成时,工作线程不会安静地返回池,而是调用完成回调(p447)。
我听到的是,在调用线程继续时,(worker?)线程被阻塞。这意味着如果我从客户端进行数千个这样的(长时间运行的)异步调用,我将开始杀死我的线程池性能,因为线程池将开始生成新线程以替换所有被阻塞的线程。
但是自从Juval写这本书以来,这个故事可能已经发生了变化?我注意到有人contradicts what Juval says,但在一年前完全写完的一篇文章中。
这里的真实的真相是什么?