.NET Standard 2.0写的类库
代码思路大致如下
public class MyService
{
public ConcurrentQueue<Task> TaskList = new ConcurrentQueue<Task>();
public async Task<int> Run()
{
var task = new Task<int>(Mission, "ffff");
list.Enqueue(task);
return await task;
}
public int Mission(object para)
{
//do someting
return num;
}
}TaskList 会在外部的某个地方异步调用,并启动列队里的Task
这种写法在控制台引用程序里,执行newMyService().Run().Result,可以正常运行。
但是在MVC的项目里,同样的方法调用上面的代码,await task以后的代码无法被执行到,但是debug的时候mission内部的代码的确执行了。
请问这是什么原因,是我使用Task的姿势不对吗?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4692/viewspace-3151270/ ,如需转载,请注明出处,否则将追究法律责任。