ScheduledTaskAgent プロジェクトがあり、ScheduledAgent.cs の oninvoke() メソッドは、カスタム定義のクラス ライブラリ プロジェクトの fetchcurrentdetails() メソッドを呼び出します。
この public string fetchcurrentdetails() メソッドには、次の一連のイベントがあります。
//class variables
string strAddress = string.empty;
public string fetchcurrentdetails()
{
GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
if (watcher.Permission == GeoPositionPermission.Granted)
{
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
}
return strAddress ;
}
private void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
WebClient bWC = new WebClient();
System.Uri buri = new Uri("http://dev.virtual//...");
bWC.DownloadStringAsync(new Uri(buri.ToString()));
bWC.DownloadStringCompleted += new DownloadStringCompletedEventHandler(bHttpsCompleted);
}
private void bHttpsCompleted(object sender, DownloadStringCompletedEventArgs bResponse)
{
//do some data extraction and return the string
strAddress = "This is extracted data";
}
メソッド/イベント bHttpsCompleted() が完了するまで実行がクラス ライブラリに保持されるようにする方法はありますか? または、イベント/メソッド bHttpsCompleted() が発生したときに値を返す方法は何ですか。