2010-07-09 65 views
1

我們開發了一個使用Web服務的Web應用程序。用戶將使用應用程序上傳數據。使用Web服務上傳一條記錄需要7秒。用戶一次將上傳大約12000條記錄。所以它需要更多的時間。那麼Web應用程序可以運行超過5或6個小時嗎?一個ASP.net應用程序可以爲一個請求運行多長時間

當部署此應用程序時,我需要考慮的所有因素是什麼。

還有上傳記錄批量,像

<Object> 
<record> 
<value1> 1 </value1> 
<value2> asd </value2> 
</record> 
<record> 
<value1> 2 </value1> 
<value2> asd </value2> 
</record> 
<record> 
<value1> 3 </value1> 
<value2> asd </value2> 
</record> 
<record> 
<value1> 4 </value1> 
<value2> asd </value2> 
</record> 
</object> 

一個選項,但問題是,我們需要爲每條記錄的上傳狀態。如果onr記錄中有任何數據錯誤,則整個上傳將被取消。所以我們正在逐一處理記錄。

請建議是否有更好的方法來做到這一點。如果您對此問題有任何疑問,請讓我知道。謝謝。

Regards, Jebli。

回答

2
  1. 用戶上傳文件。
  2. 應用程序將該文件保存到某處。
  3. 應用程序運行後臺線程處理上傳的文件。它甚至可以被外部應用程序處理,該應用程序將文件作爲輸入。
  4. 用戶立即收到來自服務器的回覆,說明處理已經開始。
  5. 用戶可以訪問另一個顯示上載進度並報告錯誤條目的頁面。

最終用戶不應該等待文件上傳持續的時間。你不希望用戶盯着旋轉的小時:) :)

+0

所以你的意思是,如果用戶關閉了窗口,後臺進程將結束? – Jebli 2010-07-09 10:47:10

+0

否。如果用戶關閉瀏覽器,則不會發生任何事情。這不會影響服務器上的處理。我只想說,每個http請求都應該很快,如果有額外的處理,它應該在後臺完成。您應該準備處理狀態的其他頁面。 – LukLed 2010-07-09 11:08:02

2

爲當前的解決方案記住的最重要的事情是將服務器連接上的超時設置得足夠高。

除此之外,更好的解決方案是讓用戶上傳原始文件並在後臺進程中執行完整的處理服務器端。讓用戶瞭解該過程的狀態並非全部都很困難。

相關問題