2011-11-30 70 views
2

我有一個服務可以對客戶端提供的圖像進行圖像處理。 每個處理都需要CPU(3min aprox runtime/image),所以我不會允許一次處理多於一個的圖像。WCF Web服務上的隊列 - 你能否實現類似於後臺任務的東西

我所做的是當服務被調用時,圖像被保存在服務器上,並且一個條目被添加到數據庫中,狀態排隊。

現在我想要創建一個後臺任務,或者從狀態爲Queued的數據庫中獲取每個條目,處理該映像,將條目狀態更新爲Done,並將狀態爲Queued的新條目和等等。

有時可能沒有圖像排隊。

你如何建議我實施這個?

回答

0

您可以使用Windows Server AppFabric來託管工作流支持的WCF服務。而不是service.svc,擴展名是service.xamlx。 AppFabric旨在運行這樣的長時間運行的流程,並可根據您的需求進行擴展。

0

也許你可以開發一個windows服務,每分鐘輪詢數據庫以處理任何圖像。

2

這聽起來像你想要的是一個排隊的服務。

http://msdn.microsoft.com/en-us/library/ms731089.aspx

它可以讓你專注於自己的核心算法,而不用擔心排隊的消息(如製作自定義數據庫表的隊列等)的機制了。排隊聽起來很容易,但要得到它的工作可靠的難度比它的聲音 - 更好地MS把它留給專家:O)

它還提供了一些很好的功能,如耐用性,帶毒郵件處理等

相關問題