【问题标题】:ASp.net MVC Long running controller taskASp.net MVC 长时间运行的控制器任务
【发布时间】:2017-04-17 23:36:33
【问题描述】:

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

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.

            }

控制器操作正在正确执行所有任务,但由于超时,我无法将值返回给视图。我该如何解决这个问题?有什么指点吗?

【问题讨论】:

  • 所以我假设HoldAPI 没有返回任何结果。是第三方API还是你写的? ProcessImportFileAPI 方法里面的代码也很有趣
  • ProcessImportFileAPI(HoldAPI) 接收 HoldAPI,需要 >1 小时才能完成(获取市场数据、更新记录等)。这是预料之中的。当我调试时,我的代码会出现,直到 return Json(ReturnVal);但随后视图一无所获。
  • 如果您确实正在运行预计需要 1 小时的东西,那么您需要将其卸载到某种排队系统。 (异步运行。)
  • 异步成功了。

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2021-01-20
    • 2012-06-08
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    相关资源
    最近更新 更多