我有一个包含很多页面的项目。无论我的应用程序是什么情况,我都想定期将信息导入我的数据库。
我试图将我的代码放在App.xaml.cs中,但它只保存了一次数据(我将它放入启动并在构造函数中尝试。我的方法是获取设备ID的位置,就像
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
Location loc = new GeoCoordinate(e.Position.Location.Latitude, e.Position.Location.Longitude);
//Send Data to Database
dclient.CreateUserLocationCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(dclient_CreateUserLocationCompleted);
dclient.CreateUserLocationAsync(1, loc.Latitude, loc.Longitude);
}
并且我的观察者位置已更改在构造函数内。
if (watcher == null)
{
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High)
}
MovementThreshold = getSelectedDeviceLocationFrequencyFromInternalFolder();
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
watcher.Start();
并在App.xaml.cs
中全局定义如何在程序运行时定期运行此程序?还有其他方法吗?谢谢(总结一下,我想定期将位置数据插入我的数据库。)
答案 0 :(得分:0)
当应用程序启动时,您需要启动一个线程,以便在任何时间内休眠(或从应用程序唤醒信号 - 收到新值时)并将数据写入其中的数据存储区