【发布时间】:2011-04-20 20:45:40
【问题描述】:
我正在使用 WCF Ria 服务和 Silverlight 开发应用程序。在这个项目中,性能和可扩展性是必须的。问题是我必须从 RIA 服务调用几个 WCF 服务,并且服务调用需要时间。线程是网络服务器上的有限资源,所以当我调用服务时,执行线程只是挂起并等待答案。这在我的情况下是不可接受的。我记得有一种方法可以在 .NET 2 天内解决这个问题,我想现在还有,但什么都不记得了。任何记忆提神都会很好:)
谢谢
【问题讨论】:
-
那会有什么样的解决方法?时间旅行?
-
嗯,有可能异步执行 wcf 服务,这会将执行线程返回到线程池。服务调用完成后,客户端将收到来自服务器的响应。我的意思是,服务调用完成后,线程会从线程池中恢复。
-
您可能是指来自 ASP.NET 2.0 的异步 asp.net 页面,它在外部异步处理期间将线程返回到线程池。 WCF 还提供异步操作,但问题是它如何与 RIA 服务一起使用(我什至从未尝试过,所以我不知道):msdn.microsoft.com/en-us/library/ms731177.aspx
-
@Ladislav 是的,这就是我的意思。谢谢 :) 我会看一下网址,也许有人会发布它如何与 ria 服务一起使用。
-
我将多个请求作为一个工作单元执行的一种方法是创建一个视图模型,它将多个调用封装到一个调用中。我发现这也减少了客户端的工作量,并允许服务器管理整个过程。
标签: c# wcf asynchronous wcf-ria-services invocation