我如何在 UWP 的 Prism 的 OnLaunchApplicationAsync 中实现耗时的任务?
How do i implement a time-comsuming task in OnLaunchApplicationAsync for Prism in UWP?
我正在使用 Prism 开发 UWP,当应用程序启动时,它需要将文件从 InstallLocation 复制到 LocalFolder,并确保该文件在导航到 MainPage 之前存在于 LocalFolder 中。知道我该如何实现吗?
似乎 OnLaunchApplicationAsync 可以 return 一个任务,但它在任务完成之前先导航到 MainPage。
protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
Task task = new Task(async () =>
{
StorageFile dataFile = await Package.Current.InstalledLocation.GetFileAsync("xx.db3");
await dataFile.CopyAsync(ApplicationData.Current.LocalFolder, "xx.db3", NameCollisionOption.FailIfExists);
});
NavigationService.Navigate("Main", null);
Window.Current.Activate();
return task;
//return Task.FromResult<object>(null);
}
感谢任何帮助。
这个呢?
protected override async Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
StorageFile dataFile = await Package.Current.InstalledLocation.GetFileAsync("xx.db3");
await dataFile.CopyAsync(ApplicationData.Current.LocalFolder, "xx.db3", NameCollisionOption.FailIfExists);
NavigationService.Navigate("Main", null);
Window.Current.Activate();
}
无需将事情复杂化:-)
我正在使用 Prism 开发 UWP,当应用程序启动时,它需要将文件从 InstallLocation 复制到 LocalFolder,并确保该文件在导航到 MainPage 之前存在于 LocalFolder 中。知道我该如何实现吗?
似乎 OnLaunchApplicationAsync 可以 return 一个任务,但它在任务完成之前先导航到 MainPage。
protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
Task task = new Task(async () =>
{
StorageFile dataFile = await Package.Current.InstalledLocation.GetFileAsync("xx.db3");
await dataFile.CopyAsync(ApplicationData.Current.LocalFolder, "xx.db3", NameCollisionOption.FailIfExists);
});
NavigationService.Navigate("Main", null);
Window.Current.Activate();
return task;
//return Task.FromResult<object>(null);
}
感谢任何帮助。
这个呢?
protected override async Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
StorageFile dataFile = await Package.Current.InstalledLocation.GetFileAsync("xx.db3");
await dataFile.CopyAsync(ApplicationData.Current.LocalFolder, "xx.db3", NameCollisionOption.FailIfExists);
NavigationService.Navigate("Main", null);
Window.Current.Activate();
}
无需将事情复杂化:-)