我們在兩個系統之間傳輸數據可能需要幾個小時。執行此傳輸的代碼是用C#編寫的。使用Web服務調用啓動長時間運行的作業
我們希望通過WCF Web服務調用來觸發傳輸。
理想情況下,我們希望Web服務調用立即返回,並顯示「OK作業已啓動」消息,然後在服務器上運行作業,直到作業完成。
這樣做的最好方法是什麼?
我們看到可能存在的問題是:作業前
- Web服務超時完成返回結果
我們在兩個系統之間傳輸數據可能需要幾個小時。執行此傳輸的代碼是用C#編寫的。使用Web服務調用啓動長時間運行的作業
我們希望通過WCF Web服務調用來觸發傳輸。
理想情況下,我們希望Web服務調用立即返回,並顯示「OK作業已啓動」消息,然後在服務器上運行作業,直到作業完成。
這樣做的最好方法是什麼?
我們看到可能存在的問題是:作業前
雖然不完全類似的困境後
基本上,我創建了一個windows服務,它有一個工作管理器,顯然是可以完成的各種工作。它也運行一個輕的HttpServer。這允許主MVC應用程序與服務進行通話。一個發送一個請求來啓動作業並獲得所有作業或特定作業的狀態(當作業開始時,它被賦予一個唯一的ID)。
因此,如果我要在你的情況下實現它,我會添加一個下載作業,它做了實際的工作,並通過JSON調用從MVC應用程序中激發它。可以隨時使用從「StartJob」JSON調用返回的ID查詢下載狀態。因此您的主要網絡請求會立即處理完畢。
我會編寫一個控制檯應用程序來完成這項工作,並讓Web Service調用該應用程序。
在Web服務器本身內部運行繁重的進程絕不是一個好主意。
您可以在WebServce調用上使用後臺線程。