Я пытаюсь вызвать метод внешней библиотеки, который занимает очень много времени, поэтому я пытаюсь установить тайм-аут на его выполнение.Моя проблема в том, что тайм-аут, похоже, не влияет на него ...
Вот мой код:
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метод, это работает.Но с внешней библиотекой это вызывает у меня проблемы, таймер не работает, и метод занимает то же время, что и без таймера.Что я делаю не так?