我正在研究Web應用程序排隊的概念(即將某些類型的作業放在隊列中以便由單獨的工作人員完成,而不是在Web請求週期中完成)。ASP.NET MVC排隊解決方案
我想知道是否有什麼好的解決方案可以在ASP.NET MVC環境中使用。
有沒有人有過(好的或壞的)經歷?
謝謝!
UPDATE:
只是爲了澄清,我不是在談論排隊傳入的請求。我會盡量說明我的意思......
1)標準情況:
- 從瀏覽器請求
- 服務器處理開始
- 長作業開始
- 長時間完成
- 服務器處理完
- 響應返回給瀏覽器
2)我在尋找到什麼:
- Requsest從瀏覽器
- 服務器處理開始
- 放置在長工作隊列
- 服務器處理完
- 響應返回給瀏覽器
而在另一個進程(在發送響應可能後):
- 從隊列中取出長工作
- 長期作業開始
- 長期工作已完成
在第一個例子中,用戶已經等待很長一段時間服務器resoponse,在第二個很快。
當然有某些類型的工作適合這個,有些是不適合的。
UPDATE2:
客戶端不必與長作業的結果會立即更新。只要用戶碰巧刷新一個頁面(在完成作業之後),這些更改就會顯示在應用程序中。
想想堆棧溢出中發生的一些事情 - 它們不會立即在應用程序的每個部分中更新,但是這種情況發生得相當快 - 我懷疑其中一些作業正在排隊。
隊列由IIS完成。每個請求都被放入由工作進程處理的隊列中。工作進程和請求/響應處理的維護由IIS完成。爲什麼實施第二個排隊機制? – Christian13467 2009-08-31 12:00:11
@ Christian13467:我在談論一個不同的概念 - 請參閱更新中的說明。 – UpTheCreek 2009-08-31 13:05:00