我必须使用.net 2.0时代.asmx Web服务,我没有构建并且无法控制。然而,该服务是高度可用的,可以处理这一点。.net Web引用客户端的正确多线程用法
我需要帮助的是客户端,并使用visual studio生成的客户端代理正确地从协调立场。目前我正在使用Web引用,但可以根据需要切换到服务引用。但我对WCF一无所知。
我读得越多,我越迷惑自己。
我的具体问题:
鉴于生产方法的线沿线的一个Visual Studio生成的SOAP客户端代理:
Foo();
FooAsync();
FooCompleted;
Bar();
BarAsync();
BarCompleted;
- 应当/我可以调用foo(),从多个线程,就像在Parallel.ForEach中一样?
- 应该/我可以在并行foreach中调用FooAsync()吗?这似乎是多余的,因为我已经在另一个线程?这样做安全吗?
- 应该/我可以在一个线程上调用FooAsync(),同时在另一个线程上调用BarAsync()?
- 这些生成的soap服务类似乎实现了EAP模式。我是pfx/tpl全新的东西,但我一直在研究任务,以更好地管理其中的一些内容。我已经看到了如何使用TaskCompletionSource使用Task来封装EAP的示例。这是更好的方法吗?