我有一个使用带有/ async标志的SVCUTIL生成的wcf客户端。
服务器是syncronic,但我只在客户端使用Begin / End方法。
另外,我在CallbackBehavior中添加了属性UseSynchronizationContext = false。
我的问题是:WCF如何在此模式下使用线程? 或者更好的措辞 - 当我调用simultanous函数时,WCF是否使用ThreadPool类来获取回调的新线程?或者它有一些自定义实现?
我用Google搜索了几个小时,没有找到答案附近的任何内容。
编辑:我看到我在这里有点不清楚 - 我不是在询问服务器应用程序,我问的是客户端应用程序 - 它如何管理它在我设置时返回回调的线程usesynchronizationcontext标志为false?答案 0 :(得分:1)
您的服务的线程不受客户端调用它的影响。当您使用代理Begin / End方法时,代理使用不同的客户端线程进行服务调用,以便您的应用程序代码不会阻塞。
现在首选使用基于.NET 4.5任务的异步调用。
有关不同模式的概述,请参阅Synchronous and Asynchronous Operations。