在我的ASP MVC 5应用程序中,我有这个数据库相关的操作,我必须在一个月内执行一次,大概需要30-60分钟。 我开始这个动作是这样的:ASP MVC应用程序重置长时间运行的线程
Repository dbForCategories = new Repository();
dbForCategories.Database.CommandTimeout = 60000;
var t = Task.Factory.StartNew(async delegate
{
var crs = new ProductCategoryRelationsSetter(dbForCategories, categoryService);
crs.AddProductsCategoriesRelations(oneLineTree);
}, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default);
约5分钟在后台进出口工作越来越登出应用后。我认为该应用程序重置,因为一些静态变量Im使用重置。 在elmah我没有任何错误。我把我的代码放在Try Catch块中。
在你们:)
'“我已经在一个月可能进行一次,大约需要30操作 - 60分”' - 这是*不*为Web应用程序的任务。这是计划的控制台应用程序或Windows服务的任务。 – David
或使用ASP.NET MVC的任务调度程序库,如https://github.com/jgeurts/FluentScheduler – Luca