在我的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