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

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

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

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