私は非常に単純に、Web サービス メソッドへの非同期呼び出しを行い、戻り値を取得しようとしています。サービス参照プロキシ クラス機能を使用して、Visual Studio 2010 でこれを行っています。奇妙なことに、このためのリソースはほとんどなく、[Method]Async と [Method]Completed ではなく Begin[Method] と End[Method] を使用しており、ほとんどが時代遅れです。
私はこれに従おうとしています: http://msdn.microsoft.com/en-us/library/55xs7d7f(v=vs.80).aspx。メソッドが返されたことを示すイベントが発生すると、常に null の結果が返されます。
MyWebServiceClient client = new MyWebServiceClient();
client.webMethodCompleted +=
new System.EventHandler<webMethodCompletedArgs>(Callback);
client.webMethodAsync();
コードの後半で、Callback
メソッド:
void Callback(object sender, webMethodCompletedArgs args)
{
string data = args.Result;
}
問題は、このコードを実行すると、args.Result
常にnull
. 同期インターフェイスを使用して Web サービスをテストしましたが、これは問題なく動作するので、それが Web サービスではないことはわかっています。私はこのようなことに慣れていないので、おそらく本当に単純な何か間違ったことをしているのでしょう。