Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调度程序超时不工作_C#_.net_Wpf_Xaml - Fatal编程技术网

C# 调度程序超时不工作

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

这是下面的代码。在这段代码中,我希望dispatcher在2秒后超时,但它不工作。请帮助我

   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线程上运行,并且可以进行处理。