C# 调度程序超时不工作
这是下面的代码。在这段代码中,我希望dispatcher在2秒后超时,但它不工作。请帮助我C# 调度程序超时不工作,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,这是下面的代码。在这段代码中,我希望dispatcher在2秒后超时,但它不工作。请帮助我 private void Button_Click(object sender, RoutedEventArgs e) { CancellationTokenSource tokenn = new CancellationTokenSource(); Application.Current.Dispatcher.Invoke(DispatcherPrior
private void Button_Click(object sender, RoutedEventArgs e)
{
CancellationTokenSource tokenn = new CancellationTokenSource();
Application.Current.Dispatcher.Invoke(DispatcherPriority.Send,TimeSpan.FromSeconds(1), (Action)MyMethod2);
MessageBox.Show("Hello");
}
private void MyMethod2()
{
Uri uri = new Uri(@"D:\1.docx");
webBrowse.Navigate(uri);
}
请澄清您试图实现的目标以及出现的问题。我有一些操作必须在UI线程上运行,但有时需要10-15秒才能完成,因此我尝试实现此类超时。我认为您误解了调度程序超时的目的。你的方法2需要解决它自然无法解决的取消问题。请阅读Thank@Bijan。但在这种情况下,我该怎么办?webBrowse.Navigate()有时会使我的应用程序崩溃,我无法在其他线程上移动它,因为我遇到了跨线程异常。因此它必须在UI线程上。请建议“我有一些操作必须在UI线程上运行”。这绝对不是一个正确的说法。在您的操作中可能会发生一些操作,这些操作必须在UI线程上运行,并且可以进行处理。