2017-04-11 92 views
0

我的控制器操作需要很長時間才能運行(預期)。在下面的代碼中,ASp.net MVC長時間運行控制器任務

ProcessImportFileAPI(HoldAPI) 

1小時後超時。

public JsonResult DataFileUpload(string positionDate) 
     { 
      // Reset validation error collection 
      ImportDataValidationErrors = new List<ImportFileRecord>(); 
      string[] errs; 
      try 
      { 
       var HoldAPI = "SomeAPI" 
       retDictAPI = ProcessImportFileAPI(HoldAPI); 
       string ReturnVal = "Import is successful"; 
       return Json(ReturnVal); //never return because of TIMEOUT. 

      } 

控制器操作正確執行所有操作,但由於超時而無法返回值查看。我該如何解決這個問題?任何指針?

+0

因此,我假設'HoldAPI'沒有返回任何結果。它是第三方API還是由您編寫的? ProcessImportFileAPI方法中的代碼也很有趣 –

+0

ProcessImportFileAPI(HoldAPI)接受HoldAPI,完成(獲取市場數據,更新記錄等)需要1小時以上。這是預期的。當我調試時,我的代碼直到返回Json(ReturnVal);但後來看來什麼都沒有回來。 – ProgSky

+0

如果你真的在運行一個預計需要1個小時的東西,那麼你需要將它卸載到某種排隊系統。 (要運行異步。) – nurdyguy

回答

0

我用異步控制器來解決我的問題。