c# - 我如何在 UWP 中的 OnLaunchApplicationAsync for Prism 中实现耗时任务?

标签 c# .net win-universal-app windows-10 prism

我正在使用 Prism 开发 UWP,当应用程序启动时,它需要将一个文件从 InstallLocation 复制到 LocalFolder,并确保该文件在导航到 MainPage 之前存在于 LocalFolder 中。知道我怎样才能做到这一点吗?

看起来 OnLaunchApplicationAsync 可以返回一个任务,但它在任务完成之前先导航到 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();
}

不需要把事情搞得太复杂 :-)

关于c# - 我如何在 UWP 中的 OnLaunchApplicationAsync for Prism 中实现耗时任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824374/

相关文章:

visual-studio - 在 WinJS 中更改我的 UWP 应用程序中的窗口边框颜色

c# - DataContext.CreateDatabase 正在创建具有随机顺序列的数据库

c# - 带有子查询的表达式树

c# - 通过Winforms应用程序和PCI合规性调用Paypal

javascript - 内部服务器错误ajax提交

.net - 2个WCF服务进程可以监听同一个端口吗?

c# - 混合 C# 和 VB.NET 项目 = 损坏 "Go to definition"

c# - 'MSDAORA.1' 提供者未在本地机器上注册

windows - 当用户向上滚动时在 ListView Windows Phone 8.1 RT App 中调用增量加载

win-universal-app - Xamarin 表单,拉取刷新 UWP 中的 listView