webApi中的嵌套任务永远不会触发

时间:2015-09-09 02:53:58

标签: 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.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永远不会被调用。 据我所知,唯一不同的是SynchronizeContext。 有谁知道为什么在WebApi中永远不会调用嵌套任务?

0 个答案:

没有答案