C# webApi中的嵌套任务从不触发

C# webApi中的嵌套任务从不触发,c#,wpf,asynchronous,asp.net-web-api,task-parallel-library,C#,Wpf,Asynchronous,Asp.net Web Api,Task Parallel Library,我正在WebApi应用程序和WPF应用程序中玩TPL。 在WPF应用程序中,我得到了以下代码,实现了我的预期 private void Button_Click(object sender, RoutedEventArgs e) { Debug.WriteLine("UI thread: " + Thread.CurrentThread.ManagedThreadId); Task.Factory.StartNew(() => Debug.W

我正在WebApi应用程序和WPF应用程序中玩TPL。 在WPF应用程序中,我得到了以下代码,实现了我的预期

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Debug.WriteLine("UI thread: " + Thread.CurrentThread.ManagedThreadId);
        Task.Factory.StartNew(() => Debug.WriteLine("Task 1 thread: " + Thread.CurrentThread.ManagedThreadId))
                    .ContinueWith(ant =>
                    {
                        Debug.WriteLine("Continuation on UI thread: " + Thread.CurrentThread.ManagedThreadId);
                        Task.Factory.StartNew(
                            () => Debug.WriteLine("Task 2 thread is UI thread: " + Thread.CurrentThread.ManagedThreadId));
                    }, 
                    TaskScheduler.FromCurrentSynchronizationContext());
    }
但在webApi应用程序中,continuewith中的嵌套任务从未被调用。 据我所知,唯一不同的是文本。
有人知道为什么嵌套任务从未在WebApi中被调用吗?

我怀疑它被调用了,但是
WriteLine
正在其他地方被吞没。你能试着输入一个
int count=0
并做一系列
互锁的.Increment(ref count)
然后看看你是否得到了正确的
计数
结果?我刚试过,还是没有被调用。我注意到一些有趣的事情,continueWith与StartNew在同一线程上运行,尽管我指定使用CurrentSynchronizationContext。