ITPub博客

首页 > > > .NET MVC中异步启动Task,await无法正常执行

.NET MVC中异步启动Task,await无法正常执行

作者:daxuesheng 时间:2019-09-29 17:29:16 0 删除 编辑

.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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-05-22

  • 博文量
    176
  • 访问量
    24988