WCF服务可以调用其客户端的方法来获取或提供数据。问题是 - 客户端上的哪个线程会处理呼叫?一个新的?
答案 0 :(得分:0)
通常客户端将调用服务的代理,如果不使用异步调用,方法将阻塞,结果当然将在同一个线程上。 - 另一方面,在服务方面,它在某种程度上取决于您的配置 - 通常WCF将生成任务或线程池线程,因此您无法说明最终将处理哪个线程......
答案 1 :(得分:0)
我认为这取决于呼叫是同步呼叫还是异步呼叫。对于异步调用,例如在使用silverlight时,数据是在单独的线程中接收的。
答案 2 :(得分:0)
如果您使用CallBackBehavior属性并且"装饰"使用[CallbackBehavior(UseSynchronizationContext = false)]进行回调,回调将在后台线程上执行,而不是与最初进行服务调用的线程相同的线程(这是默认行为)。