【发布时间】:2013-06-10 08:24:57
【问题描述】:
我的 ASP.NET MVC 4 Web 应用程序中有以下代码:
Global.asax.cs
protected void Application_Start()
{
Task.Factory.StartNew(
() =>
{
while (!cancellationToken.IsCancellationRequested)
{
Thread.Sleep(100);
Trace.WriteLine("Working");
}
},
cancellationToken,
TaskCreationOptions.LongRunningTask,
TaskScheduler.Current);
}
似乎该任务在应用程序初始化时开始运行,运行了一段时间,然后停止了。只要 AppDomain 正在运行,我就想继续运行。是什么导致它停止?我能做些什么来阻止它停止?
【问题讨论】:
-
如果您发布了真正有意义的代码,将会有所帮助。当您的方法声明为
void-returning 时,您的方法如何返回Task?LongRunningTask()中的cancellationToken来自哪里?您能否发布实际演示您的问题的简短(和编译)代码? -
对不起,为了简洁起见,我在尝试简化代码时犯了一些错误。很难将现有的复杂应用程序浓缩为简短的 sn-p。我想我现在已经修复了上面的代码示例。
标签: asp.net asp.net-mvc-4 task-parallel-library task background-process