Задание не запускается - PullRequest
       26

Задание не запускается

0 голосов
/ 28 декабря 2011

Почему этот код не запускает задачу? Я всегда жду активации. Здесь я делаю простую задачу, которая пытается прочитать из буфера обмена и возвращает меня, когда буфер обмена доступен. Когда я запускаю линию, я вижу, что состояние задачи ожидает завершения. Почему это происходит?

TaskScheduler scheduler = TaskScheduler.Default;

var fetchTask =
    new Task<Boolean>(() =>
    {
        while (1 == 1)
        {
            try
            {
                IDataObject obj = Clipboard.GetDataObject();
                return true;
            }
            catch (Exception e)
            {
            }
        }
    })
    .ContinueWith<Boolean>(
        x =>
        {
         Console.WriteLine("Task completed");
         return true;
        },
    CancellationToken.None,
    TaskContinuationOptions.None, scheduler);

Ответы [ 3 ]

2 голосов
/ 28 декабря 2011

Потому что ... Вы не начали это?

fetchTask.Start();

(CW уважать два существующих комментария по этому поводу)

0 голосов
/ 09 января 2013

Я знаю, что это старый, но попробуйте использовать TaskFactory, если fetchTask.Start() не работает

    TaskScheduler scheduler = TaskScheduler.Default;
        var fetchTask = Task<Boolean>.Factory.StartNew(() =>
        {
            while (1 == 1)
            {
                try
                {
                    IDataObject obj = Clipboard.GetDataObject();
                    return true;
                }
                catch (Exception e)
                {
                }
            }
        })
        .ContinueWith<Boolean>(
            x =>
            {
                Console.WriteLine("Task completed");
                return true;
            },
        CancellationToken.None,
        TaskContinuationOptions.None, scheduler);
0 голосов
/ 28 декабря 2011

тасак никогда не запускается.

fetchTask.Start();
...