2013-01-14 49 views
1

WebAPI是否有內置的支持來啓動一些工作,並立即返回給調用者一個確認。我正在建立一個數據處理服務器,它有一些需要運行的長時間運行的進程。客戶永遠不會期望結果馬上就可以查詢。請求/確認模式ASP.NET WebAPI

在這種情況下,我正在尋找一種方式來以一種不會阻止控制器返回的方式觸發一些工作。

回答

3

WebAPI中沒有任何東西讓你無法從一些背景工作開始並立即返回。所以,你可以有implementated像這樣的動作:

public HttpResponseMessage Post() 
{ 
    Task.Factory.StartNew(() => DoWork()); 
    return new HttpResponseMessage(HttpStatusCode.Accepted); 
} 

這只是一個簡單的例子,但你可能會想跟蹤任務在某種字典的,所以你可以返回結果時,客戶端查詢他們以後。