在执行某些Web请求/响应任务后返回View()时,ASP.NET MVC会挂起

时间:2009-05-15 13:02:12

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

我有一个名为UpdateSite()的控制器操作,浏览此操作是我开始(通常是自动化的)数据收集过程的一种手动方式。

这是一个相当简单的过程,具有以下工作流程:

  1. 使用Web API执行几项Web数据请求
  2. 解析此数据以提取我可能需要的任何内容
  3. 如果某些数据是新的且相关的,请将其存储在数据库中(使用linq to sql)
  4. (可选)将一些数据发送回API,让它知道我刚刚做了什么。
  5. 以下是该方法的一个人为举例:

    public ActionResult UpdateSite(string key)
            {
                if(key == KEY)
                {
                    log4net.Config.XmlConfigurator.Configure();
                    ILog log = LogManager.GetLogger("Default");
                    string tUserName = ConfigurationManager.AppSettings["UName"];
                    string tPassword = ConfigurationManager.AppSettings["UPassword"];
    
                    ApiService apiSvc = new ApiService(tUserName, tPassword, new InterpreterFactory(),
                                                                        log);
                    ControlPanel controller = new ControlPanel(Service, apiSvc, new DefaultAppStatusService(), log);
    
                    CaptureResults results = controller.Capture();
                    controller.EnrichData(results, new EnrichmentFactory(log));
    
                    var newData = controller.PersistData(results);
                    controller.ReplyWithNewData(newData);
                }
                return View();
            }
    

    所有这些似乎运行正常,它做了它的东西,从外部API将其需要的数据写回数据库等。

    问题在于,在“返回View()”页面没有在浏览器中完全加载,并且站点永久挂起,迫使我重新启动开发服务器。所有页面上都有一些文字。

    我完全不知道发生了什么。还有其他人遇到过这样的事吗?任何想法可能是什么?

1 个答案:

答案 0 :(得分:0)

此过程是否会更改bin文件夹或其任何子文件夹中的某些文件?如果是这样,它将回收AppPool并且请求将“崩溃”而没有机会。