は、私がここに最小限の労力でWebサービスへの効率的な非同期呼び出しを行う上で大きなページを発見:完了したら、非同期コールバック関数はイベントをスローしますか?
私は私が私が実行したいコードを配置しないところ応答があるされた後、約混乱していますサーバーから受信しましたか?この場合、システムはイベントを発生させますか? asyncdownloadの呼び出しの後にコードを配置するだけでは、この機能は提供されません。
私はもっと明確にすべきです。私は私のプロジェクトでこのコードを持っています:
private void SearchBarcode(object sender, EventArgs e)
{
WebClient wc = new WebClient();
var o = Observable.FromEvent<DownloadStringCompletedEventArgs>(wc, "DownloadStringCompleted")
// Let's make sure that we’re on the thread pool
.ObserveOn(Scheduler.ThreadPool)
// When the event fires, just select the string and make
// an IObservable<string> instead
.Select(newString => ProcessString(newString.EventArgs.Result))
// Now go back to the UI Thread
.ObserveOn(Scheduler.Dispatcher)
// Subscribe to the observable, and set the label text
.Subscribe(s => parserInput = s);
wc.DownloadStringAsync(new Uri("http://api.search.live.net/xml.aspx?Appid=appidhere&query=barcodenumber&sources=web"));
}
私はDownloadCompletedイベントコールを置くことができません。 SearchBarcodeはイメージのonclickハンドラです。 SearchBarcodeが実行された後、コントロールはどこに行きますか?私はparserInputの値を操作し、これらの値を渡す別のxamlページを呼び出したいと思います。私はvoidCompleted(オブジェクト送信者、DownloadStringCompletedEventArgs e)を追加しようとしましたが、明らかに呼び出されません。私はここで何が欠けていますか? :(
あなたは正確に何を望みますかもっと説明してください。 "DownloadCompleted"イベントハンドラに入れたコードは、ダウンロードが完了した後に実行されます。だからあなたはそれよりも何を望んでいるのですか?それとも何が問題なの? –
参考として、イベントが発生します。エラーがスローされます。 –
皆さん、より具体的に私の質問を編集しました。見ていただきありがとうございます:D – Freakishly