2017-04-11 56 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

我用异步控制器来解决我的问题。