我面臨着建立一個系統,該系統將允許用戶:在MVC 2應用程序創建一個非阻塞的過程
- 點擊一個按鈕來初始化「下載&壓縮文件」命令,其內容通過XML文件列表,通過HTTP將文件拖到本地目錄,歸檔它們,並將它們存儲下來供下載。
- 獲得一個進度條/指示符,通過按下上述按鈕後立即告訴他們「正在處理請求」。
- 能夠提交另一個「下載&歸檔」命令,無需等待先前的請求完成。
- 隨着每個「下載&歸檔」命令完成,已完成歸檔的池應該隨着新歸檔可供下載而增長一個。
我應該如何跟蹤步驟1中發生的正在進行的過程,以及如何根據步驟2和步驟4的要求將正確的事件/消息傳回UI?
UI如何知道正在進行的過程?魔術文件夾和文件系統上的令牌?會話狀態?一個由進程寫入並由前端代碼讀取的數據庫?
我想知道這是否是經常遇到的事情,並有一個「標準方式」實施?
僅供參考,我的堆棧:
- ASP.NET MVC 2上.NET 4
- IIS 7
- 外部7zip的庫,用於.NET