c#执行程式码而不封锁巡览

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

我的问题是:如何在不阻止用户导航的情况下运行此生成? 例如,用户可以开始文件生成,然后继续在网站上导航,稍后再回来下载生成的文件。怎么做呢?


芜湖不芜
浏览 71回答 3
3回答

一只萌萌小番薯

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

慕尼黑的夜晚无繁华

这不是一个技术性的、特定于C#的问题,而更像是一个UX问题。你可以留下一个按钮,用户可以点击来请求生成所述文件。您运行一个接收此类请求的服务,然后开始处理。当服务开始生成时,页面只显示一条消息,说“请等待,正在生成...“.完成后,将页面内容更改为允许用户下载的链接。

子衿沉夜

在JS中,您可以打开一个新的选项卡,您将在此新选项卡中处理Excel文件。或者,您可以在serveur上创建excel文件(显示其当前正在创建),而不会阻止导航,当您的用户返回到生成页面时,如果找到文件,您可以将其设置为可下载。
打开App,查看更多内容
随时随地看视频慕课网APP