我有一個控制器,其主要功能是保存數據。需要快速執行保存這些數據的ajax調用。控制器用於保存數據,讓它立即返回視圖()並在後臺運行代碼
我想要做的是在控制器中獲取POST並分離後臺線程,該後臺線程將執行保存數據的實際工作;這將允許我立即返回view()。所以基本上唯一需要的延遲是產生後臺線程 - 這應該是毫秒。
我嘗試用一個BackgroundWorker
public ActionResult Save(){
using (BackgroundWorker worker = new BackgroundWorker())
{
worker.DoWork += new DoWorkEventHandler(blah);
worker.RunWorkerAsync(Request.Form["data"]);
}
return View();
}
然而,這一呼籲仍然需要一段時間這樣做,讓我覺得後臺工作需要返回查看之前得到執行。
有關如何做到這一點的任何想法,以便即時返回視圖(而後臺工作人員在後臺處理數據需要很長時間)?
也許,ASP.NET請求在使用後臺線程時被阻塞(異步頁面/處理程序在類似的主體上工作)。你應該嘗試Darin Dimitrov使用普通線程的建議。 – VinayC 2010-08-25 07:10:58