0

如果我调用服务器可能需要很长时间,建议在服务器合同中使用异步方法。

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

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

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

谢谢。戴姆洛克。

4

1 回答 1

1

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

这种支持没有什么神奇之处——仍然需要处理任何基本的潜在并发问题——但平台会为您处理容易出错的样板文件,这将使查看和处理固有的、不可避免的复杂性变得更加容易。

于 2012-04-05T10:08:50.440 回答