当usesynchronizationcontext = false时,wcf使用什么线程池

时间:2013-04-04 11:08:55

标签: wcf asynchronous

我有一个使用带有/ async标志的SVCUTIL生成的wcf客户端。

服务器是syncronic,但我只在客户端使用Begin / End方法。

另外,我在CallbackBehavior中添加了属性UseSynchronizationContext = false。

我的问题是:WCF如何在此模式下使用线程? 或者更好的措辞 - 当我调用simultanous函数时,WCF是否使用ThreadPool类来获取回调的新线程?或者它有一些自定义实现?

我用Google搜索了几个小时,没有找到答案附近的任何内容。

编辑:我看到我在这里有点不清楚 - 我不是在询问服务器应用程序,我问的是客户端应用程序 - 它如何管理它在我设置时返回回调的线程usesynchronizationcontext标志为false?

1 个答案:

答案 0 :(得分:1)

您的服务的线程不受客户端调用它的影响。当您使用代理Begin / End方法时,代理使用不同的客户端线程进行服务调用,以便您的应用程序代码不会阻塞。

现在首选使用基于.NET 4.5任务的异步调用。

有关不同模式的概述,请参阅Synchronous and Asynchronous Operations