私のアプリケーションから呼び出すWebサービスには2つの方法があります。voidを返すWebサービスの非同期メソッドを呼び出すにはどうすればよいですか?
XmlNode getCase(string parameter) // synchronous
void getCaseAsync(string parameter) //async
私は単にメソッド1を呼び出すと、このようなXMLNodeの中で結果を保存することができ、
XmlNode node=webservice.getCase("test");
が、私は取得する方法を見つけ出すことはできませんvoidを返す非同期メソッドからの結果を返します。私はこれを試みたが、erorrを得る:
IAsyncResult result = webservice.getCaseAsync(("test");
すべてのアイデア?
はいブライアンは、あなたは、私はすでにこのように私のフォームconsturcorクラスで実装されていることを右の「完了」イベントが、あります
webService.getCaseCompleted + =新しいwebService.getCaseCompletedEventHandler(webService_getCaseCompleted)。
空隙webService_getCaseCompleted(オブジェクト送信者、webService.getCaseCompletedEventArgs E) {webService.GetCaseAsync( "試験")。 } 私はそこからコードを実行したいフォームにボタンを持っています。私はこれを試しました プライベートvoid button1_Click(オブジェクト送信者、EventArgs e) { webService_getCaseCompleted(this、null); } "e"がNullであるというエラーが表示されます。このメソッドをどのように実行する必要がありますか?
おかげで、 デイブ
明らかに、非同期メソッドが完了したかどうかを調べるためにWebサービスを呼び出すメソッドがなければならず、そうであれば結果を取得する必要があります。 APIを知っているわけではないかもしれませんが、それは他の、より賢明でない方法かもしれません... – Will