我有一个MVC3剃刀页面基本上就是这个
[HttpPost]
public ActionResult Index(Mymodel model)
{
//run background process
return(model);
}
public backgroundprocesscompleted()
{
//write to database
}
运行后台进程部分通过库运行分析,然后在完成后运行backgroundprocesscompleted。整个过程适用于小文件(46行),但是当我在较大的文件(11k)上运行时,它在IIS上运行并且似乎超时。我已经更改了许多设置但仍然超时。基本上我想做的是强制Web应用程序永不超时。关于如何解决这个问题的任何好主意?感谢
答案 0 :(得分:3)
ASP.Net中长时间运行的后台进程可能会失败的原因有多种,包括
上面链接的文章提出了一些缓解这些风险的建议。但是,我建议完全在ASP.Net之外进行长时间运行。一种简单的方法是将工作写入事务性MSMQ队列,并使Windows服务从该队列中读取工作项并处理它们。