c#运行代码而不阻止导航

问题描述 投票:-1回答:3

我正在构建一个在asp .net core 2.2中生成excel文件的应用程序。 excel生成可能需要一些时间,具体取决于用户的需求。 (有时,它高达20-30s)。

我的问题是:如何在不阻止用户导航的情况下运行这一代?例如,用户可以启动文件生成,然后继续在网站上导航并稍后返回以下载生成的文件。这样做的方法是什么?

c# asp.net-core
3个回答
3
投票

在后台任务中运行生成。生成excel文件的名称并将关系保存在DB或tokken中(取决于您的需要)。当线程在db中生成excel文件更新状态时。您可以通知用户或让用户查看特定页面上的信息。还有很多方法可以做到这一点......


1
投票

没有多少技术性的,特定于c#的问题,但更像是一个用户体验问题。

您可以留下用户可以单击的按钮来请求生成所述文件。您运行接收此类请求的服务,然后开始处理。

当服务开始生成时,页面只显示一条消息“请等待,生成......”。

完成后,将页面内容更改为允许用户下载的链接。


0
投票

在JS中,您可以打开一个新选项卡,然后您将在此新选项卡中处理excel文件。

或者,您可以在serveur上创建excel文件(显示其当前正在创建的文件),而不会阻止导航,当您的用户返回生成页面时,如果找到文件,您可以将其下载。

© www.soinside.com 2019 - 2024. All rights reserved.