2013-03-04 30 views
1

我將從概述開始。我需要完成一個可能需要很長時間才能完成的流程。我想創建一個Web界面來獲取輸入參數並將這些參數發送到完成該過程的單獨模塊。該模塊需要能夠調用其他Web服務。我希望Web界面完全獨立於模塊。這樣,用戶可以離開頁面,關閉標籤頁/瀏覽器等,而不會中斷模塊/進程。使用投票系統,我可以向網絡用戶顯示完成的百分比。模塊設計的Web應用程序界面

我的問題是,什麼是製作這個模塊,網絡服務,控制檯應用程序,還有其他的最佳路線?

Web應用程序和模塊都將在.NET中。

+0

不確定這是否有用,只要看一下http://signalr.net/ – 2013-03-04 15:01:19

+1

SignalR只能幫助處理故事的通知部分,但如果處理過程中需要大量數據,它仍然必須卸載到另一個進程時間 – 2013-03-04 15:03:40

回答

0

看起來你需要一個後臺工作進程,它可以很容易地實現爲Windows服務。控制檯應用程序在技術上可以工作,但是您可以更好地控制服務執行,安全性,重新啓動等。

因此,您的Web應用程序會將請求放入某種類型的隊列中(例如MSMQ,即System.Messaging.Message類或更好的實現,或者你可以用數據庫僞造它),並且服務按照自己的步調處理隊列中的項目。在不瞭解您的要求的情況下,我認爲沒有理由使用Web服務,因爲您可能不會將其暴露給外部世界。

+0

那麼,這個過程可能會在藍色月亮中運行一次。我想我可以讓它每晚運行並檢查隊列。這不會浪費太多。 – ScubaSteve 2013-03-04 15:09:55

+0

我甚至沒有考慮過我的答案中的表現,因爲我對這個問題知之甚少。該服務本身並不佔用太多資源,因此您可以保持運行狀態並定期處理隊列。 – 2013-03-04 15:12:09