C# ASP.NET MVC在执行某些web请求/响应任务后返回View()时挂起
我有一个名为UpdateSite()的控制器操作,浏览该操作是我启动(通常是自动的)数据收集过程的一种手动方式 这是一个相当简单的流程,具有以下工作流程:C# ASP.NET MVC在执行某些web请求/响应任务后返回View()时挂起,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我有一个名为UpdateSite()的控制器操作,浏览该操作是我启动(通常是自动的)数据收集过程的一种手动方式 这是一个相当简单的流程,具有以下工作流程: 使用web API对数据执行两次web请求 解析此数据以提取我可能需要的任何内容 如果某些数据是新的和相关的,则将其存储在数据库中(使用linq to sql) (可选)将一些数据发送回API,让它知道我刚刚做了什么 以下是该方法的人为示例: public ActionResult UpdateSite(string key)
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中提取所需的数据,并将其写入数据库等
问题是在“return View()”上,页面没有在浏览器中完全加载,并且站点永久挂起,迫使我重新启动开发服务器。页面上只有一点文字
我完全不知道发生了什么事。还有人遇到过这样的事情吗?有什么想法吗?这个过程会改变bin文件夹或其任何子文件夹中的某些文件吗?如果是这样的话,它将回收应用程序池,请求将“崩溃”而不会有任何机会。此过程是否会更改bin文件夹或其任何子文件夹中的某些文件?如果是这样,它将回收应用程序池,请求将“崩溃”而不会有任何机会。这似乎是因为此进程使用线程来完成其任务(它必须接触某些网站以获取信息,因此它会生成线程来完成此任务)我怎样才能在保持线程的同时避免这个问题?你最终找到了解决方案吗?我在browserLink上遇到了一些问题,它在某些页面上产生了IIS上100%的CPU使用率。这似乎是因为这个进程使用线程来完成它的任务(它必须接触一些网站来获取信息,因此它会产生线程来完成这项工作)我如何才能保持theading在那里,但避免这个问题?你最终找到了解决方案吗?我在browserLink上遇到了一些问题,在某些页面上,它在IIS上产生了100%的CPU使用率。