我正在用asp.netcore2.2構建一個生成excel文件的應用程序。 Excel生成可能需要一些時間,具體取決于用戶的需求。(like有時,它高達20- 30秒)。我的問題是:如何在不阻止用戶導航的情況下運行此生成? 例如,用戶可以開始文件生成,然后繼續在網站上導航,稍后再回來下載生成的文件。怎么做呢?
3 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
在后臺任務中運行生成。生成excel文件的名稱,并將關系保存在DB或tokken中(取決于您的需要)。線程將在數據庫中生成Excel文件更新狀態。您可以通知用戶或讓用戶看到特定頁面上的信息。有很多方法可以做到這一點。

慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
這不是一個技術性的、特定于C#的問題,而更像是一個UX問題。
你可以留下一個按鈕,用戶可以點擊來請求生成所述文件。您運行一個接收此類請求的服務,然后開始處理。
當服務開始生成時,頁面只顯示一條消息,說“請等待,正在生成...“.
完成后,將頁面內容更改為允許用戶下載的鏈接。

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
在JS中,您可以打開一個新的選項卡,您將在此新選項卡中處理Excel文件。
或者,您可以在serveur上創建excel文件(顯示其當前正在創建),而不會阻止導航,當您的用戶返回到生成頁面時,如果找到文件,您可以將其設置為可下載。
- 3 回答
- 0 關注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消