при вызове метода внешней библиотеки задача не заканчивается после тайм-аута - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь вызвать метод внешней библиотеки, который занимает очень много времени, поэтому я пытаюсь установить тайм-аут на его выполнение.Моя проблема в том, что тайм-аут, похоже, не влияет на него ...

Вот мой код:

  private void SomethingLong(int refernce)
    {                
            externalLib.externalMethod(reference);

    }

private void button2_Click(object sender, EventArgs e)
    {
        MyLauncher(myReference);
    }

 private async void MyLauncher(int reference)
    {
        Task task = Task.Factory.StartNew(
            () =>
            {
                SomethingLong(reference);
            });
        if (await Task.WhenAny(task, Task.Delay(8)) == task)
        {
            label1.Text = "Task Completed";
        }

        else
        {
            label1.Text = "Timeout";
        }
    }

Если я попробую тот же самый код с просто спать в SomethingLongметод, это работает.Но с внешней библиотекой это вызывает у меня проблемы, таймер не работает, и метод занимает то же время, что и без таймера.Что я делаю не так?

...