構築しておらず、制御できない.net2.0時代の.asmxWebサービスを使用する必要があります。ただし、このサービスは可用性が高く、これを処理できます。
私が助けを必要としているのはクライアントであり、VisualStudioで生成されたクライアントプロキシを同時性の観点から正しく使用しています。現在、Webリファレンスを使用していますが、必要に応じてサービスリファレンスに切り替えることができます。私はWCFについては何も知りません。
読めば読むほど、混乱してしまいます。
私の具体的な質問:
次のようなメソッドを生成するVisualStudioで生成されたsoapクライアントプロキシがあるとします。
Foo();
FooAsync();
FooCompleted;
Bar();
BarAsync();
BarCompleted;
- Parallel.ForEachのように、複数のスレッドからFoo()を呼び出す必要がありますか?
- 並列foreach内でFooAsync()を呼び出す必要がありますか?私はすでに別のスレッドにいるので、これは冗長に見えますか?これを行うのは安全ですか?
- 別のスレッドでBarAsync()を呼び出しているときに、あるスレッドでFooAsync()を呼び出す必要がありますか?
- これらの生成されたsoapサービスクラスは、EAPパターンを実装しているようです。私はpfx/tplに慣れていないのですが、これをより適切に管理する方法としてタスクを検討してきましたか?TaskCompletionSourceを使用してEAPをタスクでラップする方法の例を見てきました。それはここでのより良いアプローチですか?