C# ASp.net MVC长时间运行的控制器任务

C# ASp.net MVC长时间运行的控制器任务,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我的控制器操作需要很长时间才能运行(预期)。在下面的代码中 ProcessImportFileAPI(HoldAPI) 1小时后超时 public JsonResult DataFileUpload(string positionDate) { // Reset validation error collection ImportDataValidationErrors = new List<ImportFileRecor

我的控制器操作需要很长时间才能运行(预期)。在下面的代码中

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.

            }
公共JsonResult数据文件上载(字符串位置日期) { //重置验证错误集合 ImportDataValidationErrors=新列表(); 字符串[]错误; 尝试 { var HoldAPI=“SomeAPI” retDictAPI=ProcessImportFileAPI(HoldAPI); string ReturnVal=“导入成功”; return Json(ReturnVal);//由于超时而从不返回。 }
控制器操作正在正确执行所有TAK,但由于超时,我无法将值返回视图。我如何解决此问题?有指针吗?

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

因此我假设
HoldAPI
没有返回任何结果。这是第三方API还是您编写的?代码中的内容也很有趣side
ProcessImportFileAPI
methodProcessImportFileAPI(HoldAPI)接收HoldAPI,完成(获取市场数据、更新记录等)需要>1小时。这是预期的。调试时,我的代码会一直出现,直到返回Json(ReturnVal);但是view什么也得不到。如果你真的在运行一个预计需要1小时的东西,那么你需要把它转移到某种排队系统上。(异步运行。)async做到了这一点。