0

私は非常に単純に、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 サービスではないことはわかっています。私はこのようなことに慣れていないので、おそらく本当に単純な何か間違ったことをしているのでしょう。

4

1 に答える 1

0

args.Result が null の場合、発生した例外を args.Error プロパティに設定する必要があります。

于 2012-08-03T21:53:47.167 に答える