WCF:怀疑客户端中的异步与线程

时间:2012-04-05 10:00:36

标签: multithreading wcf asynchronous

如果我打电话给服务器可能需要花费很多时间,建议在服务器合同中使用异步方法。

在这种情况下,要创建代理,我必须指出我想创建异步方法。

但是,我想知道如果我在客户端使用线程来调用服务,也许不需要使用异步方法,因为这个辅助线程可以在不阻塞客户端的情况下等待结果。我使用的是.NET 4.0,所以我可以使用任务。

这是对的吗?如果这是正确的,最好的方法是什么,使用异步方法或在客户端使用thrading?

感谢。 Daimroc。

1 个答案:

答案 0 :(得分:1)

我个人推荐异步方法,主要是因为这是微软明确采用.NET 4.5的方向 - 在C#5中将有语言支持使得使用异步API非常简单。您的客户端代码不需要担心线程之间的编组,以确保UI只在正确的线程中更新,单独创建线程等 - 它可以“等待”服务结果,它将“做正确的事情”

此支持中没有任何魔法 - 任何基本的基础并发问题仍然需要处理 - 但平台将为您处理易出错的样板,这将使其更容易看到并处理固有的,不可避免的复杂性。