1

我需要从我们从客户端使用的 WCF 服务中调用两个操作。理想情况下,这两个操作将同时调用,因为它们都需要几秒钟才能完成。一旦两个电话都完成了,我想继续我在客户端的工作。我有点坚持实现这一点的最佳模型是什么。任何帮助或代码示例将不胜感激。

另外:我可以在客户端上以相同的方法调用 WCF 服务中的方法,然后在此方法中等待调用完成吗?(在等待这两个操作返回期间,客户端没有其他任何事情发生,因此我可以在启动异步调用的同一方法中等待。)

使用 .NET 4.0 / VS 2010 和 Visual Basic。

谢谢大家!

4

1 回答 1

1

您可能需要考虑您希望“控制”坐在哪里。例如,您可以让客户端进行两次调用,每个调用执行一个功能,或者您可以让客户端进行一次调用并在服务器上进行两次调用。

这方面的指南将是您希望这两个操作的紧密程度。他们会永远一起被处决吗?如果您的客户有时可能只想执行其中一个操作,那么为了灵活性,有两个 wcf 调用是有意义的。因此,客户几乎可以进行“pick'n'mix”。

如果您认为客户端是进行这两个调用的合适位置,Background Workers 可能会为您提供帮助。

无论哪种方式,从事情的声音来看,您将需要编写一些代码,等待两件事完成。我过去使用的一种方法是使用系统事件。查看方法WaitHandle.WaitAll以了解可供您使用的功能类型。这些是非常防弹的野兽,并且独立于 wcf 之类的东西,然后的缺点是它们确实占用资源,所以如果你最终会得到很多(几十个)你可能需要重新考虑。但是两个不会有问题。

于 2012-12-05T12:58:09.490 回答