我正在使用 WCF 编写一个应用程序,其中客户端订阅服务器,然后将更新推送回客户端。
订阅者使用在服务器上调用 Subscribe() 方法的 DuplexPipeChannel 订阅服务器。
服务器维护一个订阅者列表<>,当有数据要推送给订阅者时,它调用 PushData() 方法。
我的意图是遍历订阅者列表,依次调用每个订阅者的 push 方法。
我想知道的是:在我的订阅服务器上调用 push 方法是否阻塞?连接失败或连接到其中一个订阅者的延迟是否会导致其余的推送调用延迟(或更糟的是失败)?
如果这是一个明显的问题,我很抱歉,但到目前为止,我主要是一个 .Net 2.0 的人,所以我对 WCF 知之甚少。
我的 WCF 代码松散地基于本教程。
另一个问题 假设它是同步的,我最好生成一个新线程来处理客户端请求,还是为每个“推送服务器端”生成一个新线程更好?